栈是一种快速有效的分配存储方式,访问速度仪次于程序计数器
JVM直接对Java栈的操作只有两个:每个方法执行伴随着进栈(入栈、压栈) 和 执行结束后的出栈工作
对于栈来说不存在垃圾回收问题GC,但存在内存溢出问题...abstract final static)
2、类型的常量池
存放该类型所用到的常量的有序集合,包括直接常量(字符串、整数、浮点数)和对其他类型、字段、方法的符号引用。
...该类所有实例都已经被回收,也就是java堆中不存在该类以及任何派生子类的实例
加载该类的类加载器已经被回收,这个条件除非精心设计的可替换类加载器的场景,如OSGi,JSP的重加载等,否则通常很难达成
对应该类的...java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方法
java虚拟机被允许对满足上述3个条件的无用类进行回收,这里说仅仅是"被允许",而不是和对象一样,没有引用了就必然进行回收...,使用句柄访问的最大好处就是reference中存储的是稳定的句柄地址,在对象被移动(垃圾回收时移动对象是非常普遍的行为)时只需要修改句柄的实例指针,而reference本身不需要修改,而使用直接指针访问的最大好处就是快