JVM类加载器深入剖析

概括

Java中的每一个类型(class字节码文件),数据结构信息都会被纳入到JVM的管辖范围内,也就是会进入到JVM的内存中,这些工作都是由JVM类加载器来完成的

Java虚拟机与程序的生命周期

1.可能导致虚拟机退出的情况

  • 在程序代码中显示的去调用了System.exit()方法
  • 程序正常执行结束
  • 程序在执行过程中遇到了异常或错误而异常终止
  • 由于操作系统出现了错误而导致Java虚拟机进程终止

类的加载、连接、初始化

 1.加载:将类的class二进制字节码文件加载到JVM内存中,如果文件不存在则会抛出异常

 2.连接:

  • 验证:确保被加载class二进制字节码的正确性,并且符合JVM对字节码文件的要求
  • 准备:为类的静态变量分配内存,并初始化其默认值(主义:这里的默认值并非在代码中显示的赋予的默认值,而是类型的默认值,比如int类型的默认值为0)
  • 解析:把类中的符号引用转换为直接引用 

3.初始化:为类的静态变量赋予正确的初始值(我们在代码中显示的赋予的值)

4.使用:程序对类的使用

5.卸载:将class文件卸载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值