- 博客(11)
- 收藏
- 关注
原创 SpringMVC执行原理
(HandlerMapping)并且会根据请求查找到相应的。(HandlerExecution)去查找url对应的。(DisphareServerlet)将请求分发到。(DisphareServerlet)根据得到的。(DisphareServerlet)将。(View Resolver)将解析后的。(View Resolver)将得到的。(Controller)后返回给。(Controller)进行执行。Model and View传给。(Controller)分发到。(Controller)封装。
2023-09-02 15:26:36
101
原创 三种IO模型BIO,NIO,AIO详解
AIO是发出IO请求后,由操作系统自己去获取IO权限并进行IO操作,性能受操作系统影响(兼容问题)获取到key调用channel()方法,从多路复用器拿到客户端的引用,当数据准备就绪时状态为可读。Java写的进行TCP通信的底层是ServerSocket(数据发送者在服务端的引用)同步阻塞:在一个线程中不能同时进行读写操作,在客户端没有发送数据时会出现阻塞。添加了缓冲区使得数据在流操作中放进缓冲区,当数据准备好时在使用轮询方式获取数据。异步非阻塞(数据驱动,回调)阻塞和非阻塞:参照IO操作。
2023-08-05 17:59:27
172
1
原创 并发编程:JMM内存模型详解
三大特性:原子性、可见性、有序性语言级别的抽象内存模型:volatile,synchronized,final,(happens-before)在单线程中,有数据依赖规则,无论怎么进行重排序,执行的结果不会变在多线程中,提供了内存屏障来解决可见性问题源代码中有两个重排序方式:1.编译器级别(实现语言级别的内存屏障类型)2.CPU级别(指令集,内存)在jdk1.5中的java内存模型引入了Happens-before原则除了volatile之外解决可见性问题的方法
2023-08-04 23:56:35
197
1
原创 并发编程:缓存一致性(MESI)协议和storebuffer以及内存屏障详解
-写入缓存时必须处于ME状态,或者使得其他cpu缓存处于失效状态,失效后把数据同步到主内存-:首先数据是S状态,在CPU写入数据时,变为I状态,之后再把数据写入到中,写入之后会会发送invalidate消息使得其他缓存了该缓存行的CPU失效这是一个异步化的过程:当。
2023-08-03 22:48:49
676
原创 关于CMS垃圾回收器和G1垃圾回收器
"大小默认是堆区的1/2000,可以设置的范围是1~32MB之间"*并行+并发,*分代+分区(region)*标记压缩低延迟*每个region都具有记忆集(Remember Set):避免全局扫描,jdk7出现,jdk9默认开启*作用于老年代,新生代新生代(Eden,S0,S1),老年代(O区),大对象存储区(H区)
2023-07-31 00:45:20
194
1
原创 dubbo中的特性:集群容错模式的解析以及使用场景
配置位置:@DubboService(cluster="1、2、3、4、5、6",retires=“default=2")
2023-07-26 20:24:07
129
1
原创 centos:7快速搭建redis集群
Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群,这里我搭建了三个节点都为master。首先我们进入虚拟机中,我们需要下载好redis5.0.0版本及以上的redis安装包(5.0.0版本以下需要用到ruby,由于ruby有版本限制问题可能还弄不了比较麻烦),将其解压到我们的工作目录下,这边建议直接从官网下载压缩包再通过shell工具进行上传安装,用docker pull拉取镜像可能会比较慢。
2023-07-11 18:36:54
686
1
原创 TCP协议中三次握手和四次挥手的详解
在计算机和网络设备需要相互通信时,我们会利用到这两种通信协议进行信息的传输,当我们输入一个网址时,页面中会出现相应的内容,这一切都需要计算机和网络设备之间进行信息的传递,才会将画面显示在页面当中,而其中的通信离不开一种规范,就像是计算机之间需要遵循某种规则一样,这种规范就叫做协议,而对于协议我们需要明白以下四点。
2023-05-30 23:38:06
148
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人