JAVA 类加载机制

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

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

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

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

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

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

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

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

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

 

posted @ 2020-07-08 23:35  加油少年  阅读(61)  评论(0编辑  收藏  举报