02-Jvm垃圾回收
如何判断对象可以回收?引用计数法两个对象互相引用,会导致两个对象都没法被回收。可达性分析Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着 GC Root对象 为起点的引用链找到该对象,找不到,表示可以 回收哪些对象可以作为GC root?虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(即
如何判断对象可以回收?引用计数法两个对象互相引用,会导致两个对象都没法被回收。可达性分析Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着 GC Root对象 为起点的引用链找到该对象,找不到,表示可以 回收哪些对象可以作为GC root?虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(即
jvm的内存模型包含什么?程序计数器(寄存器)作用:记住下一条jvm执行的执行地址。程序执行过程中cpu切换任务执行,再次返回是必须知道程序执行到哪一步了。程序计数器是线程私有的不存在内存移除虚拟机栈栈内存模型后进先出。虚拟机栈包含了栈帧。每一个线程只能有一个活动栈帧,对应当前正在执行的方法。每一次方法调用都会存在一个栈帧。栈内存溢出:栈帧过多(方法调用嵌套太多,不能正常返回。无限递归)栈帧过大(