学习日记
文章平均质量分 78
Anoxia_Boi
这个作者很懒,什么都没留下…
展开
-
TCP协议拥塞控制
首先,说到拥塞控制,很多人就会和流量控制的概念混淆,所以我简单讲下两个机制的概念;:流量控制是为了控制发送方发送速率,保证接收方来得及接收。(接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。):拥塞控制是作用于网络的,防止过多的数据注入到网络中,避免网络负载过大(拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低网络传输性能有关的所有因素。)。原创 2022-10-08 19:55:11 · 1541 阅读 · 1 评论 -
浏览一个网站时的整个过程
在浏览器输入一个URL网址,按下回车时会发生什么?一、首先会将域名(URL网址)解析成IP地址;二、与目的主机建立TCP连接;三、发送与收取数据(浏览器与目的主机开始HTTP或HTTPS访问过程);四、与目的主机断开TCP连接;原创 2022-09-22 20:41:58 · 1081 阅读 · 0 评论 -
TCP协议与UDP协议的区别
(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于的传输层通信协议,由IETF的RFC 793定义;(User Datagram Protocol,用户数据报协议)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是的正式规范。UDP在IP报文的协议号是17;原创 2022-09-22 20:05:18 · 805 阅读 · 0 评论 -
创建对象在堆区分配内存的过程
编译器的发展与逃逸分析技术逐渐成熟,栈上分配、标量替换优化技术将会导致一些微妙的变化,所有的对象都分配到堆上也渐渐变得不那么“绝对”了。从 JDK 1.7 开始已经默认开启逃逸分析,如果某些方法中的对象引用没有被返回或者未被外面使用(也就是未逃逸出去),那么对象可以直接在栈上分配内存。),然后将当前正在使用的空间完全清除,交换两块空间的使用状态。Java 世界中“几乎”所有的对象都在堆中分配,但是,随着。所管理的内存中最大的一块区域,被所有线程共享的一块内存区域。的时候,它们将存活的对象复制到未使用的。原创 2022-09-19 00:22:40 · 205 阅读 · 1 评论 -
CopyOnWriteArrayList
COW。这样做的好处:实现对集合容器写入操作时的线程安全,但同时并不影响进行并发的读取操作。所以容器也是一种读写分离的思想。从JDK1.5开始Java并发包里提供了两个使用机制实现的并发集合容器,它们是和。相当于线程安全的ArrayList,内部存储结构采用Object[]数组,线程安全使用实现,允许多个线程并发读取,但只能有一个线程写入。原创 2022-09-18 23:32:09 · 204 阅读 · 0 评论 -
Session会话追踪的实现机制
在Web应用程序中,我们经常要跟踪用户身份。例如:当一个用户登录成功后,如果他继续访问其他页面,Web程序如何才能识别出该用户身份?当一个用户在操作自己的购物车时,Web程序如何才能识别出该用户身份?因为HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以Cookie的形式发送到浏览器,浏览器在后续访问时总是附带此Cookie,这样,服务器就可以识别用户身份。...原创 2022-08-26 17:39:03 · 65 阅读 · 0 评论 -
Servlet的生命周期
实例创建和使用的过程,被称为Servlet的生命周期。整个生命周期包括:实例化、初始化、服务、销毁。:服务器关闭或重启时,会销毁所有的Servlet实例,会调用Servlet实例的。方法,如果子类没有重写该方法,则调用HttpServlet父类的。如果实例不存在,则通过调用构造方法,完成。方法,在父类的该方法中进行请求方式的判断,如果是。405状态码:代表请求的方式服务器不提供支持。方法,在父类的方法实现中,返回一个。请求的过程中,其本质是在调用执行。方法,执行初始化的逻辑。方法,则调用子类重写后的。原创 2022-08-21 18:20:05 · 112 阅读 · 0 评论 -
在学习Mybatis中遇见的问题
原因分析:错误中说找不到应该找到的mpper所以肯定是主配置文件中应该使用到的mapper名称写错,首先检查mybatis的全局配置文件中是否配置好该mapper,配置时检查全路径。原因分析:当一个配置好的映射文件中出现两个相同的id的方法,就出出现already contains..错误,所以我们在配置映射文件时,每个方法的id设置成不一样的,也就是方法名让保证不一样。中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象。...原创 2022-08-17 20:59:52 · 350 阅读 · 0 评论 -
Java基于ftp协议实现文件的上传和下载
Java基于ftp协议实现文件的上传和下载原创 2022-08-08 00:16:01 · 4159 阅读 · 1 评论 -
常见的加密算法
哈希算法(Hash)又称摘要算法(Digest),它的作用是对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希算法的目的为了验证原始数据是否被篡改。Java字符串的hashCode()就是一个哈希算法,它的输入是任意字符串,输出是固定的4字节int整数两个相同的字符串永远会计算出相同的hashCode,否则基于hashCode定位的HashMap就无法正常工作。这也是为什么当我们自定义一个class时,覆写equals()方法时我们必须正确覆写hashCode()方法。...原创 2022-07-21 23:08:14 · 1079 阅读 · 1 评论 -
HTTP编程
HTTP是HyperTextTransferProtocol的缩写,翻译为超文本传输协议,它是基于TCP协议之上的一种请求-响应协议当浏览器希望访问某个网站时,浏览器和网站服务器之间首先建立TCP连接,且服务器总是使用80端口和加密端口443,然后,浏览器向服务器发送一个HTTP请求,服务器收到后,返回一个HTTP响应,并且在响应中包含了HTML的网页内容,这样,浏览器解析HTML后就可以给用户显示网页了。HTTP请求的格式是固定的,它由HTTPHeader和HTTPBody两部分构成。...原创 2022-07-18 20:18:52 · 282 阅读 · 0 评论 -
Java Email(实现邮件发送)
Java Email(实现邮件发送)原创 2022-07-18 19:34:59 · 4677 阅读 · 0 评论