这篇文章主要介绍了Java类加载过程是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创新互联建站-专业网站定制、快速模板网站建设、高性价比孝感网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式孝感网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖孝感地区。费用合理售后完善,十年实体公司更值得信赖。Java文件从编码到完成最终执行的过程:
加载JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。JVM不是一开始就把所有的类都加载进内存中,而是只有第一次遇到某个需要运行的类时才会加载,且只加载一次。
把class字节码文件从各个来源通过类加载器装载入内存中
JVM要完成三件事
类加载器
将java类的二进制代码合并到JVM的运行状态之中的过程
验证保证加载进来的字节流符合虚拟机规范,不会造成安全错误
验证分类
为类变量(注意,不是实例变量)分配内存,并且赋予初值(Java虚拟机根据不同变量类型的默认初始值)
默认初始值
常量池内的符号引用替换为直接引用的过程
符号引用:一个字符串,但是这个字符串给出了一些能够唯一性识别一个方法,一个变量,一个类的相关信息
直接引用:可以理解为一个内存地址,或者一个偏移量
举个例子来说,现在调用方法hello(),这个方法的地址是1234567,那么hello就是符号引用,1234567就是直接引用
解析阶段,虚拟机会把所有的类名,方法名,字段名这些符号引用替换为具体的内存地址或偏移量,也就是直接引用
初始化对类变量(static修饰的变量或语句)初始化,是执行类构造器的过程
初始化过程
感谢你能够认真阅读完这篇文章,希望小编分享Java类加载过程是什么内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!
本文名称:Java类加载过程是什么-创新互联
文章位置:https://www.cdcxhl.com/article22/coidjc.html
成都网站建设公司_创新互联,为您提供App设计、响应式网站、自适应网站、微信小程序、网站建设、网站设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联