据我所知,方法的局部变量位于执行线程的堆栈帧中,局部变量的引用类型只有对象的引用,而不是对象本身。JVM 中的所有对象都位于堆空间中。
我想知道正在执行的方法中由局部变量引用的对象在方法执行结束之前永远不会被垃圾收集。(不使用 java.lang.ref.WeakReference 和 SoftReference。)
他们是垃圾收集的吗?还是从不?编译器对这类东西有优化吗?
(如果它们从不被垃圾回收,这意味着在执行需要很长时间的大方法时,可能需要将 null 分配给不再使用的变量。)
幕布斯6054654
交互式爱情
相关分类