JAVA 类加载机制
Posted kingblade
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 类加载机制相关的知识,希望对你有一定的参考价值。
1.为什么要了解类加载机制?
从学习工作经验来看,了解类加载机制有三个重要用途:1.定位类加载不正确造成的技术问题,如不同加载器加载的同名类造成的实例不一致;2.自定义类加载器,输出的产品class文件进行加密,防止竞争对手进行逆向;3.学习优秀代码实践,提升面试,考试时候的只是储备。
2.类加载机制是什么样的?
类加载,故名思意,把类正确加载到内存中。加载的过程分为以下几个步骤:加载->验证->准备->初始化->解析->使用->卸载类
加载:从class文件,jar包等处将字节流读取到内存;
验证:对加载步骤的字节流进行类格式验证,验证类的头等字节是否符合规范;
准备:对类中的静态值进行初始化,比如int值,此时赋值为0;
解析:对类中的方法,字段等引用进行解析
初始化:对准备阶段好类的字段进行正确赋值,这时候的赋值是赋予的实际值,在这一步骤中,会对类所属的值进行内存分配;
以上是关于JAVA 类加载机制的主要内容,如果未能解决你的问题,请参考以下文章