- 博客(8)
- 收藏
- 关注
原创 深入理解NIO核心组件
深入理解NIO核心组件IOIO :Input/output 输入/输出本地磁盘读写是IO网络使用TCP/UDP协议传输,也是IOBIO 同步阻塞式IO以网络传输为例:客户端向服务端发送一个Http请求服务端给客户端开启一个线程,并且等待数据读写此时客户端因网络原因或其他因素不进行读写,那么服务端线程将会持续等待。请求数增多后线程数也增多,对服务器内存消耗较大,容易内存溢出。NIO 同步非阻塞式IO再以网络传输为例:客户端向服务端发送一个http请求服务端会有一个IO线程
2021-01-13 21:38:35 180 2
原创 Gson反序列化 int类型变double类型
Gson反序列化 int类型变double类型经网上资料查找,序列化的逻辑在 com.google.gson.internal.bind.ObjectTypeAdapter 类中。将源码拷贝出来,修改 Number 处理逻辑。 @Override public Object read(JsonReader in) throws IOException { JsonToken token = in.peek(); switch (token) { case BEGIN_ARR
2020-11-11 11:55:03 682
原创 spring源码理解-观察者模式
观察者模式概述观察者模式,又叫发布订阅模式。定义对象间的一对多的依赖关系,当一个对象状态发生改变时,所有依赖它的对象都得到通知并自动更新。springApplicationContext 的事件机制就是观察者模式的实现通过实现 ApplicationListener 的onApplicationEvent 方法。可以监听指定事件。注意实现完毕后要注入要spring容器监听指定事件public class ApplicationContextListener implements Appli
2020-11-04 12:01:25 388
原创 volatile 关键字
Volatile禁止指令重排序指令重排序:是指CPU允许将多条指令,不按程序规定得顺序,分别发送给各个电路单元线程得可见性当一个线程修改变量后,新值对其他线程是可以立即得知的。普通变量的值传递需要通过主内存来完成。例如,线程A修改普通变量的值,然后向主内存进行回写,另外一条线程B在线程A回写完毕后,新变量值才会对线程B可见。 volatile Test test...
2020-04-04 20:46:26 96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人