
内存布局
运行时数据区主要分为pc计数器、jvm栈,原方法栈、堆、方法区,其中jvm栈、原方法栈和pc计数器是每个线程私有的,线程安全。jvm栈的组成单元是栈铮,栈铮中包括局部变量表、操作数栈、方法返回地址、动态链接(指向方法区中运行时常量池)和附加信息
类的gc条件
类需要同时满足下面3个条件才能算是“无用的类”:
1、该类所有的实例都已经被回收,也就是Java堆中不存在该类的任何实例。
2、加载该类的ClassLoader已经被回收。
3、该类对应的java.lang.Class 对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方法。