本地方法栈
- 主要存储了很多,c/c++代码,而非java代码
- 因为,jvm需要通过c/c++代码实现和操作系统之间的交互。
堆(heap)
- Heap 堆
- 通过new关键字,创建对象都会使用到堆内存。
- 特点
- 它是线程共享的,堆中对象都需要考虑线程安全的问题
- 有垃圾回收机制
- 堆内存诊断
- jps工具
1. 查看当前系统中有哪些java进程 - jmap工具
1. 查看堆内存占用情况 jmap -head 进程id(非连续性) - jconsole工具
1. 图形界面的,多功能的检测工具,可以连续检测
- jps工具
- 思考
1. 垃圾回收后,内存占用依然很高
1. 问题在于,程序中的方法一直在被调用,垃圾回收的时候,依然在被使用,无法被垃圾回收