Program Counter Register程序计数器(寄存器)
- 作用:是记住下一条jvm指令的执行地址
- 特点:是线程私有的,不会存在内存溢出
java虚拟机栈
- 每个线程运行所需要的内存,称为虚拟机栈
- 每个栈由多个栈帧组成,对应着每次方法调用时所占的内存
- 每个线程只有一个活动栈帧,对应着正在执行的那个方法
Heap堆
- 通过new关键字,创建对象都会使用堆内存
特点 - 它是线程共享的,堆中对象都需要考虑线程安全问题
- 有垃圾回收机制
堆内存诊断
1.jps工具
查看当前系统中有哪些java进程
2.jmap工具
查看堆内存占用情况 jmap -heap 进程id
3.jconsole 工具
图形界面的,多功能的监测工具,可以连续监测
4.jvirsualvm 工具
图形界面的,功能更强大多功能的监测工具,可以连续监测