第8章

内存管理模型:堆、栈

GC,root、reachable、unreachable、live、dead
在静态内存分配模式下,无需进行内存回收:所有都是已确定的。
在栈上进行内存空间回收:按block(某个方法)整体进行。
在heap上进行内存空间回收,最复杂——无法提前预知某个object是否已经变得无用。

GC的四种基本算法

Java/JVM的内存管理模型:各区域、各区域的GC方法

JVM GC性能调优:参数配置、GC模式选择

常见的Java I/O方法

Java性能调优工具、Memory dump、Stack trace
jstat, jmap,jhat, Visual VM, MAT


Java代码调优的设计模式
singleton, prototype/cloneable,flyweight, object pool

Singleton Pattern单例模式

Flyweight Pattern轻量模式

Prototype Pattern原型模式

Object Pool Pattern对象池模式
Pool像一个图书馆,“书”就是可复用的object,可借可还
代价:原本可被GC的对象,现在要留在pool中,导致内存浪费——用空间换时间

CanonicalizingObjects规范化

Avoiding Garbage Collection规避垃圾回收
尽可能使用简单数据类型,对类的成员变量也是如此。

String constant pool

本文深入探讨了Java中的内存管理模型,包括堆和栈的区别,GC的基本算法及JVM的内存区域划分。此外,还介绍了如何通过参数配置和选择合适的GC模式来优化JVM的性能,并列举了一些常用的Java性能调优工具。
741

被折叠的 条评论
为什么被折叠?



