JVM启动过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM启动过程相关的知识,希望对你有一定的参考价值。
JVM启动过程包括:加载、连接、初始化
1.加载:就是将class文件加载到内存。详细的说是,将class文件加载到运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区类的数据结构
有两种类型的类加载器:
1.1JVM自带提供的三类加载器:根类加载器Bootstrap Classloader(C++写的, 程序员无法在JAVA代码中获得该类)
扩展加载器Extension Classloader,使用Java代码实现
系统加载器System ClassLoader,也叫应用加载器 Application Classloader,使用Java代码实现
1.2用户自定义的类加载器,都是java.lang.ClassLoader的子类
2.连接分为三步 2.1.验证:检查被加载的类的正确性;
2.2.初始化:接着将静态变量初始化为默认值,比如一个类中有一句private static int num=1; 实际上在这一步的时候,只是将num初始化为默认值0
2.3.解析:把类中的符号引用转换为直接引用
3. 初始化。"任何JVM实现,必须在每个类或接口被JAVA程序"首次主动使用时"才初始化它们"
以上是关于JVM启动过程的主要内容,如果未能解决你的问题,请参考以下文章