Heap 堆
通过 new 关键字,创建对象都会使用堆内存
特点
- 它是线程共享的,堆中对象都需要考虑线程安全的问题
- 有垃圾回收机制
堆内存溢出
虽然有垃圾回收机制,但如果不断有新的对象产生,而且这些新产生的对象又在使用,可能会造成堆内存溢出
堆内存诊断
- jps 工具
查看当前系统中有哪些 java 进程 - jmap 工具
查看堆内存占用情况 jmap - heap 进程id - jconsole 工具
图形界面的,多功能的监测工具,可以连续监测
案例
垃圾回收后,内存占用仍然很高
Heap 堆
通过 new 关键字,创建对象都会使用堆内存
特点
堆内存溢出
虽然有垃圾回收机制,但如果不断有新的对象产生,而且这些新产生的对象又在使用,可能会造成堆内存溢出
堆内存诊断
案例
垃圾回收后,内存占用仍然很高