MENU

Java线程池

Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorService。
201926

阅读全文

Java内存模型

Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。

阅读全文

Zookeeper之ZAB协议

  • ZooKeeper Atomic Broadcast(ZAB,ZooKeeper原子消息广播协议)是为分布式协调服ZooKeeper专门设计的一种支持崩溃恢复的原子广播协议。
  • Zookeeper主要依赖ZAB协议来实现分布式数据一致性,实现了一种主备模式的系统架构来保持集群中个副本之间数据的一致性。

阅读全文

JVM内存分配与回收策略

  • 新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。
  • 老年代(Major GC/Full GC):指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC(但非绝对的,在Parallel Scavenge收集器的收集策略里就有直接进行Major GC的策略选择过程)。Major GC的速度一般会比Minior GC慢10倍以上。

阅读全文