十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了Java类加载过程是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创新互联公司专注于网站建设|成都网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都砂岩浮雕等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。
Java文件从编码到完成最终执行的过程:
JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。JVM不是一开始就把所有的类都加载进内存中,而是只有第一次遇到某个需要运行的类时才会加载,且只加载一次。
把class字节码文件从各个来源通过类加载器装载入内存中
JVM要完成三件事
类加载器
将java类的二进制代码合并到JVM的运行状态之中的过程
保证加载进来的字节流符合虚拟机规范,不会造成安全错误
验证分类
为类变量(注意,不是实例变量)分配内存,并且赋予初值(Java虚拟机根据不同变量类型的默认初始值)
默认初始值
常量池内的符号引用替换为直接引用的过程
符号引用:一个字符串,但是这个字符串给出了一些能够唯一性识别一个方法,一个变量,一个类的相关信息
直接引用:可以理解为一个内存地址,或者一个偏移量
举个例子来说,现在调用方法hello(),这个方法的地址是1234567,那么hello就是符号引用,1234567就是直接引用
解析阶段,虚拟机会把所有的类名,方法名,字段名这些符号引用替换为具体的内存地址或偏移量,也就是直接引用
对类变量(static修饰的变量或语句)初始化,是执行类构造器的过程
初始化过程
感谢你能够认真阅读完这篇文章,希望小编分享Java类加载过程是什么内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!