03 2022 档案

摘要:1. 为什么会出现循环依赖 AServiceProxy.target = 普通对象 AService Bean的生命周期: creatingSet<'AService'> 推断构造方法,进行实例化 普通对象 --> 放入三级缓存 singletonFactories.put("AService", 阅读全文
posted @ 2022-03-30 20:58 CrazyShanShan 阅读(58) 评论(0) 推荐(0) 编辑
摘要:Bean创建的生命周期 UserService.class --> 推断构造方法 > 1. 判断使用哪一个构造方法 > 2. 判断构造方法有没有入参 > 1. 没有入参 > 2. 有入参 先ByType,再ByName 尝试去找,先找Type,看看找到了几个 1. 找到一个,那么就是这个 2. 找到 阅读全文
posted @ 2022-03-30 19:33 CrazyShanShan 阅读(232) 评论(0) 推荐(0) 编辑
摘要:分布式应用进行逻辑处理时经常会遇到并发问题。 Redis分布式锁使用得非常广泛。 1. 分布式锁奥义 分布式锁的本质上是要在Redis里面占一个坑,当别的进程要来占坑,发现那里已经有一个坑了,就只好放弃,或者稍后再试。 占坑一般使用setnx命令,只允许一个客户端占坑。先来先占,用完了,再调用del 阅读全文
posted @ 2022-03-26 23:06 CrazyShanShan 阅读(41) 评论(0) 推荐(0) 编辑
摘要:字符串 和java中的ArrayList的实现类似。 动态字符串实现,采用预分配冗余空间的方式来减少内存的频繁分配。 扩容:字符串长度小于len的时候,扩容都是加倍现有的空间。如果字符串长度超过1MB,扩容一次增加1MB,字符串的最大长度为512MB。 字符串由多个字节组成,每个字节又由8bit组成 阅读全文
posted @ 2022-03-26 22:40 CrazyShanShan 阅读(738) 评论(0) 推荐(0) 编辑
摘要:Java内存模型(JMM) 常说的JVM内存模型指的是JVM的内存分区; JAVA内存模型是一种虚拟机规范。 Java虚拟机规范中定义了Java内存模型, 用于屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。 JMM 规范规定了Java虚拟机和计算机内存 阅读全文
posted @ 2022-03-26 16:46 CrazyShanShan 阅读(121) 评论(0) 推荐(0) 编辑
摘要:MESI: 为了保证多个CPU核之间的缓存行中对应主存的数据的一致性。 缓存行的4个状态 M: Modified 代表该缓存行中的内容被修改了,并且该缓存行只被缓存在该CPU中。 并且 这个状态的缓存行中的数据和内存中的不一样,在未来的某个时刻它会被写入到内存中 E: Exclusive E代表该缓 阅读全文
posted @ 2022-03-26 16:30 CrazyShanShan 阅读(242) 评论(0) 推荐(0) 编辑
摘要:TCP 流量控制 一条TCP连接的每一侧主机都为该连接设置了接收缓存。 当TCP连接收到正确、按序的字节后,它就将数据放入接收缓存。 相关联的应用进程会从该缓存中读取数据,但不必是数据刚一到达就立即读取。 TCP为它的应用程序提供流量控制服务,以消除发送方使接收方应用缓存溢出的可能性。 假设TCP接 阅读全文
posted @ 2022-03-25 19:19 CrazyShanShan 阅读(92) 评论(0) 推荐(0) 编辑
摘要:TCP连接的建立 假设一个客户上的一个进程想和另一台主机上的一个进程建立一条连接。 客户的应用进程首先通知客户TC片,它想建立一个与服务器上某个进程之间的连接。 客户的TCP会用以下方式与服务器中的TCP建立一条TCP连接: 客户端的TCP首先像服务器端的TCP发送一个特殊的TCP报文段。该报文段中 阅读全文
posted @ 2022-03-25 16:49 CrazyShanShan 阅读(404) 评论(0) 推荐(0) 编辑
摘要:TCP 建立连接的前两个报文段不包含应用层数据,第三个报文段可以承载有效数据。 建立连接以后,TCP将数据引导到该连接到发送缓存里,发送缓存是发起三次握手期间设置的缓存之一。 MSS:最大报文段长度,报文段里应用数据的最大长度。(1460-1480) 而不是包含首部的TCP报文段最大长度。 MTU: 阅读全文
posted @ 2022-03-24 21:18 CrazyShanShan 阅读(2458) 评论(0) 推荐(0) 编辑
摘要:选择重传(SR)协议通过让发送方重传那些它怀疑在接收方出错的分组而避免了不必要的重传。 这种个别的、按需的重传需要接收方逐个地确认正确接受的分组。 还是用窗口长度N来限制流水线中未完成、未被确认的分组数。 与GBN不同的事,发送方已经收到了窗口中某些分组的ACK。 与GBN不同的是,发送方已经收到了 阅读全文
posted @ 2022-03-23 21:23 CrazyShanShan 阅读(229) 评论(0) 推荐(0) 编辑
摘要:回退N步 GBN 允许发送方发送多个分组而不需等待确认,但是它也受限于流水线中未确认的分组数不能超过某个最大允许数N。 基序号(base): 定义为最早未确认的分组的序号 下一个序号(nextseqnum): 定义为最小的未使用序号 (其实就是下一个要发送的序号) 为什么要设置为N? 流量控制是对发 阅读全文
posted @ 2022-03-23 20:16 CrazyShanShan 阅读(546) 评论(0) 推荐(0) 编辑
摘要:可靠: 1. 传输数据的bit不会收到损坏或者丢失,而且所有数据都是按照其发送顺序进行交付。 TCP是在不可靠的IP的端到端网络之上实现的可靠数据传输协议。 构造可靠数据传输协议 rdt1.0 假设信道可靠 就是单纯的发送和接受 rdt2.0 假设信道可能出现比特差错,但是信道不会丢包 rdt2.0 阅读全文
posted @ 2022-03-23 19:33 CrazyShanShan 阅读(2375) 评论(0) 推荐(0) 编辑
摘要:运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信。 TCP(传输控制协议),为调用它的应用程序提供了一种可靠的、面向连接的服务。 将主机间交付扩展到进程间交付被称为运输层的多路复用与多路分解。 基本功能: 进程到进程到数据交付和差错检查。 TCP为应用程序提供了几种附加服务。 可靠数据传输: 阅读全文
posted @ 2022-03-23 16:58 CrazyShanShan 阅读(81) 评论(0) 推荐(0) 编辑
摘要:TCP和UDP的区别 TCP是一个面向连接的,客户端与服务端、可靠的,基于字节流的传输层协议。双方互相通信之前,T CP需要三次握手建立连接,而UDP没有建立连接的过程。 UDP是一个面向无连接的传输层协议,UDP的数据是基于数据报的。 连接 UDP是无连接的 TCP是面向连接的 可靠 UDP是不可 阅读全文
posted @ 2022-03-22 21:34 CrazyShanShan 阅读(360) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示