问题一:JVM类加载过程主要是什么?有示意图不?
JVM类加载过程主要是什么?有示意图不?
参考回答:
过程:加载、验证、准备、解析、初始化
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627172
问题二:JVM类加载过程中加载阶段主要做什么?
JVM类加载过程中加载阶段主要做什么?
参考回答:
1.通过一个类的全限定名来获取定义此类的二进制字节流。
2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
3.在Java堆中生成一个代表这个类的java.lang.class对象,作为方法区这些数据的访问入口。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627173
问题三:JVM类加载过程中验证阶段主要做什么?
JVM类加载过程中验证阶段主要做什么?
参考回答:
1.文件格式验证(是否符合Class文件格式的规范,并且能被当前版本的虚拟机处理)
2.元数据验证(对字节码描述的信息进行语意分析,以保证其描述的信息符合Java语言规范要求)
3.字节码验证(保证被校验类的方法在运行时不会做出危害虚拟机安全的行为)
4.符号引用验证(虚拟机将符号引用转化为直接引用时,解析阶段中发生)
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627174
问题四:JVM类加载过程中准备阶段主要做什么?
JVM类加载过程中准备阶段主要做什么?
参考回答:
准备阶段是正式为类变量分配内存并设置类变量初始值的阶段。将对象初始化为“零”值解析阶段:解析阶段时虚拟机将常量池内的符号引用替换为直接引用的过程。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627175
问题五:JVM类加载过程中字符串常量池主要做什么?
JVM类加载过程中字符串常量池主要做什么?
参考回答:
堆上,默认class文件的静态常量池运行时常量池:在方法区,属于元空间初始化阶段:初始化阶段时加载过程的最后一步,而这一阶段也是真正意义上开始执行类中定义的Java程序代码。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627185