JAVA 类加载机制

Posted kingblade

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 类加载机制相关的知识,希望对你有一定的参考价值。

1.为什么要了解类加载机制?

  从学习工作经验来看,了解类加载机制有三个重要用途:1.定位类加载不正确造成的技术问题,如不同加载器加载的同名类造成的实例不一致;2.自定义类加载器,输出的产品class文件进行加密,防止竞争对手进行逆向;3.学习优秀代码实践,提升面试,考试时候的只是储备。

2.类加载机制是什么样的?

  类加载,故名思意,把类正确加载到内存中。加载的过程分为以下几个步骤:加载->验证->准备->初始化->解析->使用->卸载类

  加载:从class文件,jar包等处将字节流读取到内存;

       验证:对加载步骤的字节流进行类格式验证,验证类的头等字节是否符合规范;

       准备:对类中的静态值进行初始化,比如int值,此时赋值为0;

       解析:对类中的方法,字段等引用进行解析

       初始化:对准备阶段好类的字段进行正确赋值,这时候的赋值是赋予的实际值,在这一步骤中,会对类所属的值进行内存分配;

 

以上是关于JAVA 类加载机制的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 类加载机制

Java类加载机制详解

Java 类加载机制

详解JAVA类加载机制

Tomcat类加载机制和JAVA类加载机制的比较

java类加载机制简介---JVM