Java8新特性
一、集合1、HashMap数组+链表+红黑树2、HashSet数组+链表+红黑树3、ConcurrentHashMapCAS + Synchronized二、JVM方法区:永久代PremGen --> 元空间MetaSpace(物理内存)三、Lambda 表达式1、从匿名类到Lambda的转换
一、集合1、HashMap数组+链表+红黑树2、HashSet数组+链表+红黑树3、ConcurrentHashMapCAS + Synchronized二、JVM方法区:永久代PremGen --> 元空间MetaSpace(物理内存)三、Lambda 表达式1、从匿名类到Lambda的转换
内存使用技巧的目标 目标: 内存占用少(空间) 应用速度快(时间) 对 Java 而言:减少 Full GC 的 STW(Stop the world)时间
同步问题的核心三要素 原子性:“并无一气呵成,岂能无懈可击” 可见性:“你做的改变,别人看不见” 有序性:“不按套路出牌”
如何在Netty 中开启 TCP keepalive 和 Idle 检测?
为什么需要“二次”编解码? 假设我们把解决半包粘包问题的常用三种解码器叫一次解码器: 那么我们在项目中,除了可选的的压缩解压缩之外,还需要一层解码,因为一次解码的结果是字节,需要和项目中所使用的对象做转化,方便使用,这层解码器可以称为“二次解码器”,相应的,对应的编码器是为了将 Java 对象转化成字节流方便存储或传输。