千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  一文了解java类加载过程是怎样的

一文了解java类加载过程是怎样的

来源:千锋教育
发布人:lxl
时间: 2023-04-17 11:36:47

java类加载过程

  Java类加载过程指的是将Java类从编译后的.class文件加载到Java虚拟机中运行的过程。Java类加载过程分为三个阶段:

  加载(Loading):将.class文件加载到内存中,并为之创建一个Class对象,这个对象用于在运行时存储有关类的信息。在加载阶段,虚拟机会完成以下三个任务:

  通过类的全限定名获取二进制数据流

  解析二进制数据流为虚拟机能够识别的结构

  创建一个Java.lang.Class对象

  链接(Linking):在加载阶段后,虚拟机会对类进行验证、准备和解析等操作。

  验证:检查类的字节码是否符合Java虚拟机规范,并检查类的访问权限是否合法。

  准备:为类的静态变量分配内存,并设置默认初始值(零值)。

  解析:将类中的符号引用转换为直接引用,即在常量池中的类引用转换为直接指向该类的指针或者偏移量。

  初始化(Initialization):在链接阶段后,虚拟机会对类进行初始化,即执行类的构造函数,并对静态变量进行赋值。Java虚拟机规范规定,一个类的初始化必须在其首次被使用时进行,且只会被执行一次。

  总的来说,Java类加载过程就是将编译后的.class文件加载到内存中,并对类进行链接和初始化的过程。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

java的输入语句—— Scanner类

2023-05-04

java数据库操作常识事务的四大特性

2023-05-04

DML数据操作之增加或删除数据

2023-05-04

最新文章NEW

socket是什么?有什么作用?

2023-05-04

Java常量定义是什么

2023-04-28

一分钟带你学多线程

2023-04-28

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>