摘要:netty源码分析 Recycler 对象池的设计 1. 《netty源码分析4 Recycler对象池的设计》: 2. 《Netty 对象池实践优化》: 3. 《Netty轻量级对象池实现分析》: [toc] 一、为什么需要对象池 减少创建对象时内存分配的消耗,对象的内存分配机制见: 对象进行重用
阅读全文
摘要:序列化之 TLV [toc] 通信协议可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等。常见的有 tcp,udo,http,sip 等常见协议。协议有流程规范和编码规范。流程如呼叫流程等信令流程,编码规范规定所有信令和数据
阅读全文
摘要:Java 序列化和反序列化(三)Serializable 源码分析 2 [toc] 在上一篇文章中围绕 ObjectOutputStream writeObject 讲解了一下序列化的整个流程,这中间很多地方涉及到了 ObjectStreamClass 和 ObjectStreamField 这两个
阅读全文
摘要:Java 序列化和反序列化(二)Serializable 源码分析 1 [toc] 在上一篇文章中讲解了一下 Serializable 的大致用法,本节重点关注 Java 序列化的实现,围绕 ObjectOutputStream writeObject 方法展开。 1. Java 序列化接口 Jav
阅读全文
摘要:Java 序列化和反序列化(一)Serializable 使用场景 [toc] 以下为 Java 序列化系列文章: "1. Java 序列化和反序列化(一)Serializable 使用场景" "2. Java 序列化和反序列化(二)Serializable 源码分析 1" "3. Java 序列化
阅读全文
摘要:JUC源码分析 其它工具类(一)ThreadLocalRandom ThreadLocalRandom 是 JDK7 在 JUC 包下新增的随机数生成器,它解决了 Random 在多线程下多个线程竞争内部唯一的原子性种子变量而导致大量线程自旋重试的不足。需要注意的是 Random 本身是线程安全的。
阅读全文
摘要:JUC源码分析 线程池篇(三)ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor 继承自 ThreadPoolExecutor。它主要用来在给定的延迟之后运行任务,或者定期执行任务。ScheduledThreadPoolExecutor 的
阅读全文
摘要:JUC源码分析 线程池篇(二)FutureTask JDK5 之后提供了 Callable 和 Future 接口,通过它们就可以在任务执行完毕之后得到任务的执行结果。本文从源代码角度分析下具体的实现原理。 1. 接口介绍 1.1 Callable 接口 对于需要执行的任务需要实现 Callable
阅读全文