- 博客(7)
- 收藏
- 关注
原创 设计模式相关
文章目录一、常见的设计模式1.简单工厂方法二、不同设计模式的区别2.装饰器模式和适配器模式对比一、常见的设计模式1.简单工厂方法二、不同设计模式的区别2.装饰器模式和适配器模式对比...
2022-02-26 17:42:46
125
原创 数据库的锁
数据库的锁分类从性能上分为乐观锁和悲观锁;从对数据库的操作类型分为读锁和写锁;从对数据操作的力度分为表锁和行锁;乐观锁和悲观锁1.概念乐观锁就是在获取或者更新数据的时候认为冲突比较少,并在提交的时候检查是否违反数据完整性。乐观锁通常有两种实现方式:(1)在记录中添加版本号字段version,当读取记录时,将version字段读出,数据每更新一次,将version加一。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次读取的version进行对比,如果记录的当前版本号与第一次读
2022-02-25 16:45:42
488
原创 TCP拥塞控制算法
TCP拥塞控制算法背景在某段时间,若对网络中某一资源的需求超过了该资源所提供的可用部分,网络的性能就要变坏,这种情况就叫拥塞。单纯增加资源无法解决问题,比如增加某节点处理能力但输出链路处理速度没有变化,更多的数据包会超时重传从而引发更严重的拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。TCP的拥塞控制算法主要有四种:慢开始、拥塞避免,快重传和快恢复。TCP的拥塞控制基于窗口,发送方维持一个拥塞窗口 cwnd的状态变量,拥塞窗口的大小取决于网络的拥塞程度,并且动态
2022-02-25 13:41:15
8798
原创 并发三大特性和volatile关键字
并发三大特性和volatile关键字文章目录并发三大特性和volatile关键字一、前置知识1.jmm内存模型2.jmm-jvm-cpu执行流程二、并发三大特性1.可见性2.原子性3.有序性三、volatile关键字1.可见性2.禁止指令重排四、问题:为什么volatile关键字没有原子性五、总结一、前置知识计算机为了提升效率需要使用多线程,多线程在竞争共享资源的时候存在线程安全的问题,为了描述和解决线程安全问题,需要引入jmm内存模型。1.jmm内存模型java内存模型(java mem
2020-09-10 01:11:17
293
1
原创 计算机的整体结构
计算机的整体结构冯诺依曼体系结构现代的计算机遵从冯诺依曼体系结构,包含存储器、CPU、输入设备和输出设备。计算机中包含一个时钟,它每隔一段时间产生一次跳变,从而触发取指令和执行指令的操作。存储器存放指令和数据。一条指令中通常包含了操作指令编码opcode、操作数,存储器型指令包含了内存地址。CPU包含控制器、ALU和寄存器。CPU从内存中取出指令到寄存器中,接着根据指令中的地址从内存中取数,并放到ALU中进行计算。控制器用于设置控制信号,确保各个时钟周期中,各个部分执行预期的工作。输入设备
2020-09-08 01:29:26
1167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人