执行引擎
执行引擎也是JVM中的一个重要组成部分,JVM主要任务是装载字节码,但是字节码并不能直接运行在操作系统上,所以还需要一个可以将字节码翻译成操作系统认识的机器指令的组件,而这个组件就是执行引擎
工作过程
当执行完一条指令后,程序计数器就会更新下一条需要被执行的指令地址,在方法执行过程中,执行引擎也可能会通过存储在局部变量表中的对象引用准确定位到存储在java堆区中的对象实例信息以及通过对象头中的元数据指针定位到目标对象的类型信息
1 | #javap的语法 |
1 | #javap 的命令选项 |
jstat -gcutil pid 5
查看当前GC的状态jmap -histo:live pid
统计存活对象的分布情况,从高到低查看占据内存最多的对象jmap -dump:live,format=b,file=heap.bin <pid>
dump快照还有一种情况是 GC overhead limit exceeded,这是达到了GC的开销限制
满足下列所有条件时会抛出该错误