一、能干嘛
1.1、方法区
存放类的描述信息的地方。
1.2、JVM中的类装载器
1.3、获取ClassLoader的方式
/**
* @Author : 一叶浮萍归大海
* @Date: 2023/11/16 0:08
* @Description: 获取类的加载器的方式
*/
public class ClassLoaderMainApp {
public static void main(String[] args) throws ClassNotFoundException {
// 获取类加载器的第一种方式
Car car1 = new Car();
ClassLoader classLoader1 = car1.getClass().getClassLoader();
System.out.println("获取类加载器的第一种方式:" + classLoader1);
// 获取类加载器的第二种方式
ClassLoader classLoader2 = Class.forName("org.star.entity.Car").getClassLoader();
System.out.println("获取类加载器的第二种方式:" + classLoader2);
// 获取类加载器的第三种方式
ClassLoader classLoader3 = Car.class.getClassLoader();
System.out.println("获取类加载器的第三种方式:" + classLoader3);
System.out.println("*********************");
Object obj = new Object();
System.out.println("Object类的根加载器:" + obj.getClass().getClassLoader());
System.out.println("自定义类的加载器:" + Car.class.getClassLoader());
System.out.println("自定义类的加载器(父亲):" + Car.class.getClassLoader().getParent());
System.out.println("自定义类的加载器(爷爷):" + Car.class.getClassLoader().getParent().getParent());
}
}