首页 > 代码库 > JVM启动过程
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启动过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。