码迷,mamicode.com
首页 > 其他好文 > 详细

类的生命周期

时间:2020-05-05 10:31:18      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:包含   替换   访问   要求   存储   字节流   二进制   引用   初始化   

技术图片
一个类从被加载到虚拟机内存开始,到卸载出内存为止,这个生命周期经历了七个阶段:加载、验证、准备、解析、初始化、使用、卸载。

加载阶段:

  • 通过一个类的全限定名来获取定义此类的二进制字节流。
  • 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
  • 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口

验证:

  • 验证的目的是确保Class文件的字节流中包含的信息满足约束要求,保证这些代码运行时不会危害虚拟机自身安全
  • 验证阶段有:文件格式校验、元数据校验、字节码校验、符号引用校验。

准备

  • 准备阶段是正式为类中定义的变量(静态变量)分配内存并设置类变量初始值的阶段。

解析

  • 解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程。

初始化

  • 到了初始化阶段,才真正开始执行类中定义的Java字节码。

类的生命周期

标签:包含   替换   访问   要求   存储   字节流   二进制   引用   初始化   

原文地址:https://www.cnblogs.com/sunbr/p/12829648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!