码迷,mamicode.com
首页 > 编程语言 > 详细

类加载过程-《java高并发编程详解》第九章 重点记录

时间:2020-05-09 17:15:38      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:解析   lazy   --   info   重点   使用   默认值   class   类加载   

本章主要是讲列的加载过程,class文件是如何被JVM加载并且最后得以运行的。


类的加载过程一般分为三个大阶段,加载阶段、连接阶段、初始化阶段

 技术图片

----加载阶段:主要负责查找并且加载类的二进制数据文件(class文件)。

----连接阶段:连接阶段还可以分为验证、准备、解析阶段。

  1. 验证:确保类文件的正确性,class的版本,class文件的魔术因子是否正确
  2. 准备:为类的静态变量分配内存,并且为其初始化默认值
  3. 解析:类中的符号引用转换为直接引用

----初始化阶段:为类的静态变量赋予正确的初始值(代码编写给的值)


 

jvmjava虚拟机在我们执行java命令启动后,可能有很多的类,每个类不一定都会初始化。jvm对类的初始化使用了lazy方式的延迟机制,当一个类在首次使用的时候才会被初始化,在一个运行时包下一个类只会被初始化一次。运行时包和类的包有区别。

 

类加载过程-《java高并发编程详解》第九章 重点记录

标签:解析   lazy   --   info   重点   使用   默认值   class   类加载   

原文地址:https://www.cnblogs.com/lhh666/p/12809103.html

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