GC Root和可达性分析算法

对象生死判定 如何判断Java中一个对象应该 “存活” 还是 “死去”,这是 垃圾回收器要做的第一件事。 GC Root GC Root也成为GC根对象。 GC根对象 在Java中, 可作为GC Roots的对象包括以下四种: 虚拟机栈(栈帧中的本地变量表)中引用的对象 本地方法栈 中 JNI (Native方法)引用的变量 方法区 中类静态属性引用的变量 方法区 中常量引用的变量 可达性分析算法 … 继续阅读

jstack与线程状态

jstack jstack是java虚拟机自带的一种堆栈跟踪工具,jstack命令主要用来查看Java线程的调用堆栈的,可以用来分析线程问题(如死锁)。 jstack [-l] pid jstack dump分析当前各个线程的运行情况,如是否存在死锁、是否存在一个线程长时间持有锁不放等等。 定位 在top命令中,已经获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值,在thread … 继续阅读