资料内容:
意义何在
◼ 内存和垃圾收集对Java程序的性能起着
至关重要的作用,特别是对服务器程序。
◼ 遭遇OOM?响应速度慢?并发上不去?
吞吐量不够?
◼ 内存和垃圾收集是Java程序的OS。
遍布问号的底层
◼ 堆?:根集合?、链结构、老的居底、
从顶分配、可达性、活跃对象
◼ 栈在哪里?:主内存和工作内存?栈空
间也要配置?
◼ 引用:强引用和弱引用?垃圾收集不用
引用计数用什么(无法回收:树、子指
向父)?引用值会被改变?对象哈希值
何时与之相关?
堆(Heap)
◼ JVM管理的内存叫堆(Heap);32位
Linux最大3G;64位无限制
◼ 初始-Xms:默认1/64但小于1G。
最大-Xmx:默认1/4但小于1G。
-Xms与-Xms设置相同值,对服务端应用
来说要给足空间(重要)
◼ 最小空余-XX:MinHeapFreeRatio=40%。
最大空余-XX:MaxHeapFreeRatio=70%。