java 高级面试题整理(薄弱技术)

news2025/1/11 15:01:37

session 和cookie的区别和联系

session
1.什么是session
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了session是一种特殊的cookie。cookie是保存在客户端的,而session是保存在服务端。

2.为什么要用session
由于cookie 是存在用户端,而且它本身存储的尺寸大小也有限,最关键是用户可以是可见的,并可以随意的修改,很不安全。那如何又要安全,又可以方便的全局读取信息呢?于是,这个时候,一种新的存储会话机制:session 诞生了

3.session原理
当客户端第一次请求服务器的时候,服务器生成一份session保存在服务端,将该数据(session)的id以cookie的形式传递给客户端;以后的每次请求,浏览器都会自动的携带cookie来访问服务器(session数据id)。
 

Cookie:
它是客户端浏览器用来保存服务端数据的一种机制。当通过浏览器进行网页访问的时候,服务器可以把某一些状态数据以 key-value 的方式写入到 Cookie 里面存储到客户端浏览器。然后客户端下一次再访问服务器的时候,就可以携带这些状态数据发送到服务器端,服务端可以根据 Cookie 里面携带的内容来识别使用者。
Session:
表示一个会话,它是属于服务器端的容器对象,默认情况下,针对每一个浏览器的请求。Servlet 容器都会分配一个 Session。Session 本质上是一个 ConcurrentHashMap,可以存储当前会话产生的一些状态数据。
Http 协议本身是一个无状态协议,也就是服务器并不知道客户端发送过来的多次请求是属于同一个用户。所以 Session 是用来弥补 Http 无状态的不足,简单来说,服务器端可以利用 session来存储客户端在同一个会话里面的多次请求记录。基于服务端的 session 存储机制,再结合客户端的 Cookie 机制,就可以实现有状态的Http 协议。

(如图)具体的工作原理是:

客户端第一次访问服务端的时候,服务端会针对这次请求创建一个会话,并生成一个唯一的 sessionId 来标注这个会话。然后服务端把这个 sessionid 写入到客户端浏览器的 cookie 里面,用来实现客户端状态的保存。在后续的请求里面,每次都会携带 sessionid,服务器端就可以根据这个 sessionid 来识别当前的会话状态。

反射

什么是反射(Reflection )

主要是指程序可以访问、检测和修改它本身状态或行为的一种能力

Java 反射的优点:
        增加程序的灵活性,可以在运行的过程中动态对类进行修改和操作提高代码的复用率,比如动态代理,就是用到了反射来实现可以在运行时轻松获取任意一个类的方法、属性,并且还能通过反射进行动态调用
Java 反射的缺点:
        反射会涉及到动态类型的解析,所以 JVM 无法对这些代码进行优化,导致性能要比非反射调用更低。使用反射以后,代码的可读性会下降反射可以绕过一些限制访问的属性或者方法,可能会导致破坏了代码本身的抽象性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/915884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Wireshark数据抓包分析之HTTP协议

一、实验目的: 主要时熟悉wireshark的使用 二、预备知识: HTTP协议的相关知识 what fk,原来只要在右页点击切换,就可以开启2台不同的机器欸!nice 三、实验过程: 1.在机器1中通过管理员身份运行hfs之后&a…

5G网络优化基础班9月11号开班已定,零基础系统教学,带你入门+进阶+实战+就业!

1G、2G、3G时代,更多的是让人们了解和开始使用移动通讯,而随着技术的不断地迭代更新,4G改变生活,5G或将改变社会。5G是第五代移动通信技术的简称,它是一种全新的无线通信技术,将为人们带来更快、更稳定、更…

1.文章复现《热电联产系统在区域综合能源系统中的定容选址研究》(附matlab程序)

0.代码链接 文章复现《热电联产系统在区域综合能源系统中的定容选址研究》(matlab程序)-Matlab文档类资源-CSDN文库 1.简述 本文采用遗传算法的方式进行了下述文章的复现并采用电-热节点的方式进行了潮流计算以降低电网的网络损耗 分析了电网的基本数…

Java学习笔记38

Java笔记38 注解 什么是注解 Annotation是从 JDK 5.0 开始引入的新技术。Annotation的作用︰ 不是程序本身,可以对程序作出解释。(这一点和注释 - comment没什么区别)可以被其他程序(比如编译器等)读取。 Annotatio…

系统认知篇:防腐层、门面模式及适配模式的本质

门面模式和适配器模式是代码级的设计模式,而防腐层本质是一种 防御型策略 ,在更高的层级对系统进行解耦 1 关于防腐层 Anti-Corruption Layer(ACL) 如下: Implement a faade or adapter layer between different subsystems that dont share…

用断言更好地实现替换重复出现的单词

断言是指对匹配到的文本位置有要求。也就是说,在有些情况下,我们对要匹配的文本的位置也有一定的要求。为了解决这个问题,正则中提供了一些结构,只用于匹配位置,而不是文本内容本身,这种结构就是断言。常见…

C++_Linux报错问题记录

1、致命错误:vector:没有那个文件或目录 解决:.c文件只会引用C语言的标准库,vecter是属于C的语法,把文件名称改成cpp即可 2、.cpp文件中下面编译语句报错:对‘std::cout’未定义的引用 gcc -o test test.…

docker 报错

问题说明:我是服务器上面的docker拉到本地30卡想用的,但是失败,报错如下: 服务器上面显存驱动是450,本地30卡驱动是470 nvidia-docker run -it --name 20230821_3 --shm-size 16g -p 10029:22 --privileged 20230821_i…

关于cloudflare的“检查站点连接是否安全”一直反复转圈的问题

前一段时间访问不少网站都会出现类似以下的信息: 其中很多时候哦是没有红色框框一栏,就是拼命在转圈和刷新页面,等上一个小时都没用。以上情况看很多网上的说法是卸载浏览器安装的插件。我寻思我也没安装过什么插件。 对于试过网上不少方法但…

java八股文面试[java基础]—— hashCode 与 equals 区别 == 与 equals的区别

两个对象的hashCode()相同时,equals()相等吗?_两个对象的hashcode一样,equal一样么_不想当个程序员的博客-CSDN博客 equals():比较的是非基本类型的数据的引用地址(即内存地址)是否相同,但是对于重写equal…

Vulnhub: DOUBLE: 1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.209 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.209 目标80端口 sendcommand.php页面源码 写入webshell <?php system($_GET["cmd"]);?> 执行命令 ht…

不修改原图片,自动添加水印

只要添加我写的一个DynaWatermark2.1.1.jar的包,然后在web.xml里配置一下,哪个文件夹下的图片需要动态水印,就可以啦!以后通过页面访问这个文件夹下的图片,就会自动加上水印.但不会修改文件夹里图片本身.   这个jar里面有添加图片水印和文字水印两个servlet.(不能两个都配置,…

《golang设计模式》第二部分·结构型模式-03-组合模式(Composite)

文章目录 1. 概述1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 将叶子节点和复合节点组合起来&#xff0c;定义一个抽象接口遍历他们 1.1 角色 Component&#xff08;抽象构件&#xff09;&#xff1a;为叶子构件和复合构件声明接口&#xff0c;定义了结构…

Docker安装并运行Alertmanager

Linux下安装Docker请参考&#xff1a;Linux安装Docker 简介 Alertmanager是一个独立的告警模块&#xff0c;接收Prometheus等客户端发来的警报&#xff0c;之后通过分组、删除重复等处理&#xff0c;并将它们通过路由发送给正确的接收器&#xff1b;告警方式可以按照不同的规…

openCV实战-系列教程2:阈值与平滑处理(图像阈值/图像平滑处理/高斯/中值滤波)、源码解读

1、图像阈值 t图像阈值函数&#xff0c;就是需要判断一下像素值大于一个数应该怎么处理&#xff0c;小于一个数应该怎么处理 ret, dst cv2.threshold(src, thresh, maxval, type) 参数解析&#xff1a; src&#xff1a; 原始输入图&#xff0c;只能输入单通道图像&#…

/root/.ssh/config line 2: Bad protocol 2 host key algorithms ‘+ssh-rsa‘.

文章目录 1、问题2、查看openssh版本3、解决问题4、重新生成密钥5、查看是否可连接工蜂 1、问题 ssh访问工蜂报错&#xff1a; [rootlocalhost .ssh]# ssh -T gitgit.code.tencent.com /root/.ssh/config line 2: Bad protocol 2 host key algorithms ‘ssh-rsa’. 2、查看o…

如何识别芯片引脚1

当从上面看芯片时&#xff0c;引脚总是按逆时针方向编号。这来自于旧时代的电子管&#xff0c;当从电子管的底部看时&#xff0c;引脚是按顺时针方向编号的。 芯片的标记方式有多种&#xff0c;但是总有一些惯例可循。换句话说&#xff0c;如果你在一个未知的芯片上发现了这些标…

Linux的基础编程——Linux常用操作总结(十一)

前言&#xff1a; 前面我们已经对在Linux系统上的一些常用操作已经有了一个简单的入门与了解&#xff0c;后面的学习中我们还需要对这些操作常加练习&#xff0c;现在让我们对之前的一些常用操作进行的一个简单的总结吧 目录 一、软件安装 CentOS系统使用&#xff1a; Ubun…

pdf转换成excel怎么转换?看看这几种方法

pdf转换成excel怎么转换&#xff1f;转换PDF文件到Excel是一个常见的需求&#xff0c;因为许多工作需要将PDF文件转换成可编辑和可搜索的Excel电子表格。无论是在学校、办公室还是在家里&#xff0c;将PDF文件转换成Excel文件的需求都屡见不鲜。有时候&#xff0c;你可能需要将…

江苏211+双一流学校,专业课比408难度低,来看看23考情吧

南京师范大学 考研难度&#xff08;☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文预计813字&#xff0c;预计阅读&#xff1a;2分钟。 2023考情概况 南…