JVM1

本文深入探讨了Java类加载过程,包括类型加载、连接与初始化等关键步骤,解析了类的二进制数据如何被加载,类间关系如何建立,以及类的静态变量如何初始化。此外,还介绍了Java虚拟机结束的几种情况。

在Java代码中,类型加载连接(确立类与类之间的关系)与初始化过程都是在程序运行期间完成;这样提供了更大的灵活性,增加了更多的可能性。比如:Java的动态代理。

  • 加载:查找并加载类的二进制数据;
  • 连接:
  1. 验证:确保被加载的类的正确性;           
  2. 准备:为类的静态变量分配内存,并将其初始化为默认值

  3. 解析:把类中的符号引用转换为直接引用

  • 初始化:为类的静态变量赋予正确的初始化值;

  • 使用;

  • 卸载;

使Java虚拟机结束的情况:

  1. 执行System.exit()方法;
  2. 程序正常结束;
  3. 程序在执行的过程中遇到异常或错误而异常终止;
  4. 由于操作系统出现错误而导致的Java虚拟机进程终止;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值