零散知识点整理

1.一个url输入到地址栏中,到返回给用户页面,经历了哪些过程
》》浏览器获得url对应的请求,向操作系统请求该url对应的iP地址
》》操作系统查询DNS (首先查询本地host文件,没有则查询网络)获得对应ip地
》》浏览器发送tcp连接请求向 ip地址对应的服务器(带SYN标志数据包)。
》》服务器收到tcp连接请求后,回复可以链接请求(有SYN/ACK标志的数据包)
》》浏览器收到回传的数据,确认ok后,还会向服务端发送数据(带ACK标志的数据包)包表示三次握手结束。
》》三次握手成功后,浏览器和服务端开始tcp连接形式传输数据包。
》》服务器传给浏览所需要的资源数据。
》》浏览器获得数据,渲染网页然后呈现给用户。

2.get和post的区别
从安全性上来讲:post是要比get安全那么一点点,但其实并没有什么卵用。
交互方面来讲:可以重复的交互,比如取个数据,跳个页面, 用GET.
不可以重复的操作, 比如创建一个条目/修改一条记录, 用POST, 因为POST不能被缓存,所以浏览器不会多次提交。
友情链接:https://www.zhihu.com/question/31640769

3.spring的线程安全是如何处理的,多例是不是线程安全的
spring容器维护管理的bean默认情况下是单例(singleton)的,容器只存在一个共享的bean实例。 不用去考虑线程安全问题,对于一些有状态的类(有状态就是有数据存储功能),需要去考虑它的线程安全问题,可使用threadlocal去解决。

4.git merge和rebase的区别
首先merge和rebase都是用来合并分支的。
git merge:将两个分支,合并提交为一个新提交,并且新提交有2个parent。
git rebase:会取消分支中的每个提交,并把他们临时存放,然后把当前分支更新到最新的origin分支,最后再把所有提交应用到分支上。

5.队列和栈的区别
队列(Queue):是限定只能在表的一端进行插入和另一端删除操作的线性表
栈(Stack):是限定之能在表的一端进行插入和删除操作的线性表
队列和栈的规则
队列:先进先出
栈:先进后出
队列和栈的遍历数据速度
队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中不影响数据结构,所以遍历速度要快
栈:只能从顶部取数据,也就是说最先进入栈底的,需要遍历整个栈才能取出来,遍历数据时需要微数据开辟临时空间,保持数据在遍历前的一致性

6.set的特性
无序、不包含重复值

7.web.xml中包含哪些内容
监听器(listener)、过滤器(filter)、Servlet、相关参数、会话超时时间、安全验证方式、错误页面

你可能感兴趣的:(零散知识点整理)