![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 51
指尖流年999
试试
展开
-
MESI缓存一致性协议--volatile能够保持可见性原因
volatile关键字,其实是轻量级锁,保证共享变量可见性的原因在于缓存一致性,协议主要是intel的MESI协议。现在的cpu都是多核多级缓存架构的,多个cpu内核可以同时处理数据。主内存:我认为的是堆和方法区工作内存:我认为是栈和cpu的三级缓存JMM模型,我认为是一个多线程工作的规范,规范了多线程操作的数据在主内存和工作内存之间是怎么流转的,是jvm内存中的数据和cpu之间怎么协同工作,屏蔽掉了底层硬件的区别。----------------------------------原创 2022-02-10 16:36:28 · 1149 阅读 · 3 评论 -
RocketMQ的broker集群模式
1、普通集群模式,主从模式有一个master节点,其他都是slave节点,master响应客户端的请求,并存储消息;slave只同步master节点的消息(同步模式是:同步同步或者异步同步),也会响应部分客户端读请求。master挂了的话,slave节点不会转变为master,也就是会导致集群不可用。2、Dledger集群模式Dledger集群是rocketmq在4.5版本之后引入的高可用集群模式,采用Raft算法来随机选举master节点,master节点在挂掉不可用的时候,slave节点原创 2022-02-07 14:29:26 · 2677 阅读 · 0 评论 -
什么是TCP全双工、半双工
全双工:客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息;半双工:客户端可以给服务端发送信息,服务端也可以给客户端发送信息,但是客户端和服务端不能同时发;TCP是全双工的。。。。...原创 2022-01-26 16:23:33 · 5752 阅读 · 1 评论 -
mysql如何防止sql注入
如果是原生jdbc操作,使用prepareStatement代替代替Statement,因为prepareStatement会预编译处理,参数用?占位符代替。如果是mybatis框架,使用#{参数}设置参数,不要用${参数}原创 2022-01-26 16:10:57 · 4959 阅读 · 0 评论