1.类的生命周期
类从被加载到虚拟机内存开始,到从内存中卸载,整个生命周期需要经过七个阶段:加载、验证、准备、解析、初始化、使用和卸载,其中验证、准备、解析统称为连接。
2. 类加载过程
1)首先要获取类的二进制字节流,
2)然后将这个字节流代表的静态存储结构转化为方法区的运行时数据结构,
3)最后在内存中生成一个代表这个类的class对象。
2. 类加载器有哪些?
1)启动类加载器 主要负责加载Java的核心类库,由C++实现
2)扩展类加载器 加载Java的扩展库
3)系统类加载器 加载Java应用类
4)自定义加载器
3. 什么是双亲委派机制?为什么要用它?
双亲委派机制就是一个类加载器收到加载类的请求时,会先将这个请求委派给父类加载器加载,如果父类加载器能加载的话,就返回父类加载器加载的类,如果父类加载器加载不了,再委托字类加载器加载。
主要是为了保证应用程序的稳定有序。可以避免类的重复加载、确保类的安全性和一致性、防止类的篡改、方便类加载器的扩展和自定义。