当前位置: 首页 > news >正文

哪些网站是动态的/深圳网络推广公司有哪些

哪些网站是动态的,深圳网络推广公司有哪些,网站建设策划书格式,仿韩国网站源码JavaWeb应用的概念 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行。” Java Web应用中可以包含如下…

JavaWeb应用的概念

在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行。”
Java Web应用中可以包含如下内容:
• Servlet
• JSP
• 实用类
• 静态文档如HTML、图片等
• 描述Web应用的信息(web.xml)

Servelt 与 Servlet 容器

在这里插入图片描述

Servlet容器的概念

Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。
目前最流行的Servlet容器软件括:
• Tomcat
• Resin
• J2EE服务器(如Weblogic)中也提供了内置的Servlet容器

Servlet 简介

Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。
Servlet可完成如下功能:
• 处理请求;
• 发出响应

Servlet容器响应客户请求的过程

在这里插入图片描述

ServletAPI

在这里插入图片描述

Servlet 创建的三种方式

实现 Servlet 接口
在这里插入图片描述

继承 HttpServlet 类
在这里插入图片描述

继承 GenericServlet 类(几乎不用)
在这里插入图片描述

Servlet的注册与运行

• Servlet程序必须通过Servlet容器来启动运行,并且储存目录有特殊要求,通需要存储在<WEB应用程序目录>\WEB-INF\classes\目录中。
• Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。
• 一个元素用于注册一个Servlet,它包含有两个主要的子元素:和,分别用于设置Servlet的注册名称和Servlet的完整类名。
• 一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:和,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
在这里插入图片描述

Servlet映射的细节

• 同一个Servlet可以被映射到多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名。
• 在Servlet映射到的URL中也可以使用通配符,但是只能有两种固定的格式:一种格式是“.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。

Servlet容器响应客户请求的过程

• ①Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
• ②装载并创建该Servlet的一个实例对象:调用该 Servlet 的构造器
• ③调用Servlet实例对象的init()方法。
• ④创建一个用于封装请求的ServletRequest对象和一个代表响应消息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
• ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

Servlet对象生命周期

Servlet对象什么时候生,什么时候死.
生命周期相关的三个方法, init,service,destroy
• init(ServletConfig config)Servlet对象的初始化方法,对象被创建的时候调用
• service(request,response)客户端访问一次,执行一次
• destory()Servlet对象销毁之前调用
• Servlet对象什么时候被创建

  • Servlet默认第一次访问的时候,对象被创建
  • Tomcat服务器启动的时候创建对象,需要修改web.xml (一般不配置)(5)

• Servlet对象什么时候被销毁

  • 停止Tomcat服务器
  • WEB项目从服务器移除

ServletConfig 接口

• Servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外部的资源,所以,Serlvet引擎需要将表示Servlet容器的对象传递给Servlet。另外,在web.xml文件中为某个Servlet设置的友好名称和初始化参数等信息也需要传递给该Servlet
• Servlet引擎将代表Servlet容器的对象(ServletContext)和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet。ServletConfig接口则用于定义ServletConfig对象需要对外提供的方法,以便在Servlet程序中可以调用这些方法来获取有关信息。
• Servlet引擎调用Servlet的实例对象的init(ServletConfig config)方法将ServletConfig对象传递给Servlet。Servlet.getServletConfig()方法必须返回init(ServletConfig config)方法传递进来的这个ServletConfig对象的引用。

配置 Serlvet 的初始化参数
<servlet><servlet-name>helloServlet</servlet-name><servlet-class>com.javaweb.HelloServlet</servlet-class><!-- 配置 Serlvet 的初始化参数。 且节点必须在 load-on-startup 节点的前面 --><init-param><!-- 参数名 --><param-name>user</param-name><!-- 参数值 --><param-value>root</param-value></init-param>	<init-param><param-name>password</param-name><param-value>1230</param-value></init-param>	<load-on-startup>-1</load-on-startup>	</servlet>

ServletConfig接口的方法

• getInitParameterNames() 获取某servlet中所有参数名字,返回值为Enumeration 对象
• getInitParameter(String name) 根据某参数名字获取对应的值
• getServletName(): 获取servlet名字
• getServletContext: 获取ServletContext对象

获取初始化参数
	String user = servletConfig.getInitParameter("user");System.out.println("user: " + user);Enumeration<String> names = servletConfig.getInitParameterNames();while(names.hasMoreElements()){String name = names.nextElement();String value = servletConfig.getInitParameter(name);System.out.println(name + ": " + value);}

ServletContext接口

• Servlet引擎为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用ServletConfig.getServletContext方法可以返回ServletContext对象的引用。
• 由于一个WEB应用程序中的所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称之为 application 对象(Web应用程序对象)。
• 可以认为 SerlvetContext 是当前 WEB 应用的一个大管家. 可以从中获取到当前 WEB 应用的各个方面的信息.
• 功能:

  • 获取WEB应用程序的初始化参数
  • 记录日志
  • application域范围的属性
  • 访问资源文件
  • 获取虚拟路径所映射的本地路径
  • WEB应用程序之间的访问
  • ServletContext的其他方法
配置WEB应用程序的初始化参数

在web.xml文件的根元素中增加子元素,如下所示:

<context-param><param-name>driver</param-name><param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
获取WEB应用程序的初始化参数
	//getInitParameter//getInitParameterNames
ServletContext servletContext = servletConfig.getServletContext();String driver = servletContext.getInitParameter("driver");
System.out.println("driver:" + driver);Enumeration<String> names2 = servletContext.getInitParameterNames();
while(names2.hasMoreElements()){String name = names2.nextElement();System.out.println("-->" + name); 
}
ServletContext接口其他方法

获取当前 WEB 应用的某一个文件在服务器上的绝对路径, 而不是部署前的路径:
String realPath = servletContext.getRealPath(“/note.txt”);
System.out.println(realPath);
获取当前 WEB 应用的名称:
String contextPath = servletContext.getContextPath();
ServletContext对象是一个容器,可以存储数据.
对象有个作用域问题,ServletContext作用域是整个WEB应用程序。
• 向域对象存储数据: setAttribute(String key, Object value)
• 取出域对象数据: Object getAttribute(String key)
• 移除域对象数据: removeAttribute(String key)
ServletContext context =servletConfig.getServletContext();
//域对象存储数据,键值对
context.setAttribute(“hello”,“java”);
//取出域对象存储的键值对
Object value = context.getAttribute(“hello”);

统计访问的次数

• 练习域对象ServletContext的使用
• 第一次访问Servlet的时候,数据1存储到域对象
• 第二次访问,从域中取出数据++,存储回去

	public void init() throws ServletException {ServletContext context = getServletContext();context.setAttribute("count",1);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext context = getServletContext();Integer count = (Integer) context.getAttribute("count");response.getWriter().print("welcome "+count);count++;context.setAttribute("count",count);
}
注解开发取代web.xml

@WebServlet,注解添加到自己定义的Servlet中的类声明上即可
注解的属性 urlPatterns,属性值就是浏览器的访问地址.
@WebServlet(urlPatterns = “/test”)

Request对象概述

Request对象获取客户端的请求数据, 接口ServletRequest,子接口HttpServletRequest继承ServletRequest.
HttpServletRequest接口的实现类是Tomcat引擎提供.

servlet请求方式GET/POST
Request对象获取请求行

• String getMethod() 获取提交的方式 (GET,POST)
• String getRequestURI() 获取请求的参数,请求服务器路径
• StringBuffer getRequestURL() 获取请求的参数,请求服务器路径
• String getQueryString()获取请求行 问号后面的参数 (GET)
• String getContextPath() 获取WEB应用名称

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//request对象方法 getMethod()获取客户端的请求方式String method = request.getMethod();System.out.println(method);//方法 String getRequestURI() 获取请求服务器路径//方法 StringBuffer getRequestURL() 获取请求服务器路径String URI = request.getRequestURI();StringBuffer URL = request.getRequestURL();System.out.println("URI=="+URI); System.out.println("URL=="+URL);//方法 String getQueryString()获取请求行,?后面的所有参数String query = request.getQueryString();System.out.println(query);//获取WEB应用名称  String getContextPath()String path = request.getContextPath();System.out.println(path);
}
Request对象获取请求头

请求头数据格式键值对, k:v
指导性信息,指导服务器
• String getHeader(String key)返回对应键的值
• Enumeration getHeaderNames()

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/** request获取请求头*///方法  String getHeader(String key)String key = request.getHeader("Referer");System.out.println(key);/** Enumeration getHeaderNames() 获取所有的请求头的键* 返回值Enumeration接口 (向量枚举)* 集合:1.0-1.1 Enumeration    集合1.2  迭代器* Iterator迭代器接口:  hasNext()   next()* Enumeration接口:  hasMoreElement()  nextElement()*/Enumeration<String> enums  = request.getHeaderNames();while (enums.hasMoreElements()){key = enums.nextElement();String value = request.getHeader(key);System.out.println(key+"=="+value);}
}
Request获取请求参数

• String getParameter(“表单中的name值”)获取指定的请求参数
• String[] getParameterValues(“表单中的name值”)获取参数中的一键多值
• Map<String,String[]> getParameterMap()获取提交的所有参数

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/** request 获取客户端提交数据*///方法getParameter(String key)指定表单中的参数String username = request.getParameter("username");String password = request.getParameter("pass");System.out.println(username+"=="+password);//方法getParameterValues()获取一键多值  checkbox  radioString[] hobby = request.getParameterValues("hobby");System.out.println(Arrays.toString(hobby));System.out.println("=============");//方法 getParameterMap()获取提交的所有参数Map<String,String[]> map = request.getParameterMap();for (String key : map.keySet()){String[] value = map.get(key);System.out.println(key+"="+Arrays.toString(value));}
}
Request域对象

作用域: Request域对象的作用域比较小,范围是一次请求有效.
• 域对象存储数据: setArratibute(String key, Object value)
• 取出域对象数据: Object getAttribute(String key)
• 移除域对象数据: removeAttribute(String key)

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//向域对象 ,request 存储数据request.setAttribute("hello","java");//取出域对象数据Object value = request.getAttribute("hello");System.out.println("servlet1="+value);
}
Response对象概述

• 负责对浏览器进行响应的对象
• ServletResponse接口,HttpServletResponse接口继承自ServletResponse
• 使用的是子接口HttpServletResponse,此接口对象由Tomcat引擎提供
• 可以实现对客户端的响应, 响应行,响应头,响应体

Response设置响应行

• 设置状态码: setStatus(int 状态码)
response.setStatus(500);

Response设置响应头

HTTP协议的响应头,数据格式键值对 k:v
包含指导性信息,指导客户端
• addHeader(String key,String value)
• addIntHeader(String key,int value)
• addDateHeader(String key,long l)
• setHeader(String key,String value)
• setIntHeader(String key,int value)
• setDateHeader(String key,long l)

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/** response对象设置响应头*/response.addHeader("hello","java");/*  response.addIntHeader("good",5);response.addDateHeader("date",System.currentTimeMillis());*//** addHeader() 添加,实现一个键对应多个值* setHeader() 设置,原来的键覆盖*/response.setHeader("hello","java2222");
}
Response设置响应体

HTTP的响应体,就是页面的正文部分.
• getWriter() 返回值是打印流PrintWrite.

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/** response对象方法getWriter()* 打印流的响应体* write() 使用字符串数据,没有差别, 输出是整数,查询编码表* print() 无论是什么,原样打印*/PrintWriter pw =  response.getWriter();pw.write(100);pw.print(100);}
响应中的中文乱码问题

产生乱码原因: 编码和解码不一致.
response.setContentType(“text/html;charset=UTF-8”);

相关文章:

21.Servlet 技术

JavaWeb应用的概念 在Sun的Java Servlet规范中&#xff0c;对Java Web应用作了这样定义&#xff1a;“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行。” Java Web应用中可以包含如下…...

【Hive】——DDL(PARTITION)

1 增加分区 1.1 添加一个分区 ALTER TABLE t_user_province ADD PARTITION (provinceBJ) location/user/hive/warehouse/test.db/t_user_province/provinceBJ;必须自己把数据加载到增加的分区中 hive不会帮你添加 1.2 一次添加多个分区 ALTER TABLE table_name ADD PARTITION…...

SpringBoot 源码解析4:事件监听器

SpringBoot 源码解析4&#xff1a;事件监听器 1. 初始化监听器2. 创建事件发布器 SpringApplicationRunListeners3. 事件分发流程3.1 SimpleApplicationEventMulticaster#multicastEvent3.2 获取监听器 AbstractApplicationEventMulticaster#getApplicationListeners3.3 Abstra…...

使用 FastAPI 和 Vue.js 实现前后端分离

简介 前后端分离是现代 Web 开发的趋势。使用 FastAPI 和 Vue.js 可以构建一个高效、灵活且易于维护的 Web 应用。FastAPI 提供了高性能的后端服务&#xff0c;而 Vue.js 作为一种渐进式 JavaScript 框架&#xff0c;可以构建动态的前端界面。本文将详细介绍如何使用 FastAPI …...

算法基础之SPFA判断负环

SPFA判断负环 核心思想&#xff1a;spfa算法 当遍历一个点时 cnt数组记录边数 若有负环 边数会无限1 cnt>n是即为有负环 #include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int N 2010 , M 10010…...

一些常用的Linux命令及其简要说明(持续更新)

1. cd&#xff1a;改变当前工作目录。 cd [directory]#例如 cd /home/user 2. ls&#xff1a;列出目录内容。 ls [-options] [file/directory]#例如 ls -l, ls /etc 3. pwd&#xff1a;显示当前工作目录。 pwd 4. mkdir&#xff1a;创建新目录。 mkdir [directory]#例…...

开发企业展示小程序的关键步骤和技巧

随着移动互联网的快速发展&#xff0c;小程序已经成为企业展示形象、推广产品和服务的重要工具。拥有一个优秀的小程序可以帮助企业提高品牌知名度&#xff0c;吸引更多潜在客户&#xff0c;提升用户体验。以下是拥有一个展示小程序的步骤&#xff1a; 确定需求和目标 首先&am…...

Python-Selenium-使用 pywinauto 实现 Input 上传文件

当前环境&#xff1a;Win10 Python3.7 pywinauto0.6.8&#xff0c;selenium3.14.1 示例代码 from pywinauto import Desktop import osapp Desktop() dialog app[打开] dialog[Edit].set_edit_text(os.getcwd() .\\example-01.jpg) dialog[Button].click() 其他方法&…...

Go语言运行时与自家平台对比后认识

引子 以前就了解Go语言&#xff0c;因为其天生为并发、并行而生&#xff0c;且在语言层面就进行了内秉设计。 总想对比于我们自研的分布式并发、并行平台&#xff0c;以利于得到一些新认识 &#xff1a;&#xff09; Go官网资料 在Go的官网资料提供了很好的资料和知识库 初…...

leetcode 450. 删除二叉搜索树中的节点

leetcode 450. 删除二叉搜索树中的节点 题目 给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key 对应的节点&#xff0c;并保证二叉搜索树的性质不变。返回二叉搜索树&#xff08;有可能被更新&#xff09;的根节点的引用。 一般来说&#x…...

小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

在当前云原生时代&#xff0c;随着微服务架构的广泛应用&#xff0c;云原生可观测性概念被广泛讨论。可观测技术建设&#xff0c;将有助于跟踪、了解和诊断生产环境问题&#xff0c;辅助开发和运维人员快速发现、定位和解决问题&#xff0c;支撑风险追溯、经验沉淀、故障预警&a…...

selenium学习

前期准备 pip install selenium 获取浏览器驱动 我使用的浏览器是Chrome&#xff0c;所以这里只介绍关于Chrome获取浏览器驱动的方法&#xff1a; 需要注意的是&#xff1a;selenium 4.x 对之前版本的部分API调用方式进行了调整&#xff0c;这里就包括关于浏览器获取驱动的方式…...

前端开发新趋势:Web3、区块链和虚拟现实

目录 前言 Web3&#xff1a;下一代互联网 区块链技术 去中心化应用程序&#xff08;DApps&#xff09; 区块链&#xff1a;重塑数字世界 数字钱包 NFT&#xff08;非同质化代币&#xff09; 虚拟现实&#xff1a;沉浸式体验 WebVR和WebXR 三维图形 新挑战与机会 性…...

如何安装运行Wagtail并结合cpolar内网穿透实现公网访问网站界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…...

【>D:\10\Debug\RCa00828(34): fatal error RC1022: expected ‘#endif‘】

1>D:\10\Debug\RCa00828(34): fatal error RC1022: expected ‘#endif’ The error message you’re seeing, fatal error RC1022: expected ‘#endif’, indicates that the resource compiler encountered an issue when processing a resource script file (typically w…...

使用vite搭建项目时,在启动vite后,浏览器显示页面:找不到localhost的网页

现象 在使用前端工具vite&#xff08;版本5&#xff09;&#xff0c;搭建vue3项目时&#xff0c;启动vite&#xff0c;浏览器显示页面&#xff1a;找不到localhost的网页, 起初怀疑是 未加参数 --host0.0.0.0,导致&#xff0c;后加上该参数后问题依旧 解决 将index.html页面…...

libp2p 快速开始

文章目录 第一部分&#xff1a;libp2p 快速入门一、什么是libp2plibp2p 发展历程libp2p的特性p2p 网络和我们熟悉的 client/server 网络的区别&#xff1a; 二、Libp2p的实现目标三、Libp2p的用途四、运行 Libp2p 协议流程libp2p 分为三层libp2p 还有一个局域网节点发现协议 mD…...

【数据结构】——排序算法简答题模板

目录 一、内排序和外排序二、排序算法的稳定性三、插入排序&#xff08;一&#xff09;直接插入排序的步骤&#xff08;二&#xff09;直接插入排序的稳定性&#xff08;三&#xff09;折半插入排序的步骤&#xff08;四&#xff09;希尔排序的步骤 四、交换排序&#xff08;一…...

vue3.0基础

1. setup函数 vue单页面使用到的变量和方法都定义在setup函数中,return后才能被页面引用 export default {setup(){const name 张三const person {name,age:30}function goWork(){consle.log(工作)}return {name,person,goWork}} } 注意&#xff1a;直接定义的变量修改不会…...

Kafka本地安装⭐️(Windows)并测试生产消息以及消费消息的可用性

2023.12.17 天气晴 温度较低 十点半&#xff0c;不是不想起实在是阳光浴太nice了日常三连&#xff0c;喂&#xff0c;刷&#xff0c;肝刷会儿博客&#xff0c;看会儿设计模式冷冷冷 进被窝 刷视频 睡觉看看kafka的本地部署 》》实践》》成功写会儿博客&#xff0c…...

生产环境_Spark解析JSON字符串并插入到MySQL数据库

业务背景&#xff1a; 最近开发有一个需求&#xff0c;是这样的 我需要将一段从前端传过来的JSON字符串进行解析&#xff0c;并从中提取出所需的数据&#xff0c;然后将这些数据插入到MySQL数据库中。 json格式样例如下 { \"区域编号\": \"001\", …...

WEB渗透—PHP反序列化(四)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…...

LVS-DR模式部署

实验准备&#xff1a; 节点服务器 192.168.116.20 #web1 192.168.116.30 #web2 1.部署NFS共享存储 2.部署Web节点服务器 将两台服务器的网关注释掉 #重启网卡 systemctl restart network 修改节点服务器的内核参数|vim /etc/sysctl.conf net.ipv4.conf.lo.arp_ign…...

Oracle的学习心得和知识总结(三十)| OLTP 应用程序的合成工作负载生成器Lauca论文翻译及学习

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…...

HarmonyOS4.0从零开始的开发教程18后台代理提醒

HarmonyOS&#xff08;十六&#xff09;后台代理提醒 简介 随着生活节奏的加快&#xff0c;我们有时会忘记一些重要的事情或日子&#xff0c;所以提醒功能必不可少。应用可能需要在指定的时刻&#xff0c;向用户发送一些业务提醒通知。例如购物类应用&#xff0c;希望在指定时…...

智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.算术优化算法4.实验参数设定5.算法结果6.…...

在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容

首先是vue代码 <template><div id"body-container"style"position: absolute"><div class"box-container"><div class"lsb-table-box" ><div class"table-container" id"lsb-table"&…...

输电线路定位:精确导航,确保电力传输安全

在现代社会中&#xff0c;电力作为生活的基石&#xff0c;其安全稳定运行至关重要。而输电线路作为电力传输的重要通道&#xff0c;其故障定位和修复显得尤为重要。恒峰智慧科技将为您介绍一种采用分布式行波测量技术的输电线路定位方法&#xff0c;以提高故障定位精度&#xf…...

ZKP Commitment (1)

MIT IAP 2023 Modern Zero Knowledge Cryptography课程笔记 Lecture 5: Commitment 1 (Ying Tong Lai) Overview: Modern SNARK IOP: Interactive Oracle ProofCommitment SchemeIOP “compiled by” the commitment scheme to get a non-interactive proofAn IOP is “inform…...

【难点】【LRU】146.LRU缓存

题目 法1&#xff1a;基于Java的LinkedHashMap 必须掌握法1。参考链接 关于LinkedHashMap的介绍 class LRUCache {int cap;LinkedHashMap<Integer, Integer> cache new LinkedHashMap<>();public LRUCache(int capacity) { this.cap capacity;}public int get…...