java内存组成介绍:堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。
由于垃圾回收技术发展很快,所以这3个版本中JDK支持的垃圾回收器并不完全相同,其中CMS仅在JDK 8和JDK 11中支持,ZGC在JDK11中为实验特性,在JDK 17中为正式产品,Shenandoah在JDK 17中为正式产品,Epsilon在JDK 11和JDK 17中为实验特性。
程序运行过程中执行两种任务,分别是执行业务代码和进行垃圾回收,吞吐量大意就是说程序运行业务代码的时间越多程序的吞吐量就越高,其计算公式 ,吞吐量 = CPU在用户应用程序运行的时间 / ,一般而言GC 的吞吐量不能低于 95%。
JVM虚拟机是大厂必备技能,特别是JVM内存模型,JVM垃圾收集器、回收算法,以及性能优化这块更是重中之重,本篇我就全面的来详解JVM@mikechenJVM概要JVM是Java Virtual Machine(Java虚拟机)的缩写。