package java_220_JVM核心机制_深入类加载器_层次结构_代理加载模式_双亲委派机制_练习1;
public class Demo02 {
public static void main(String[] args) {
//测试加载器之间关系;理解就可以
System.out.println(ClassLoader.getSystemClassLoader());//获取目前系统应用程序类加载器
//获取父类加载器
System.out.println(ClassLoader.getSystemClassLoader().getParent());//扩展类加载器
System.out.println("==引导类加载器;它是由原生代码实现的;用java获取不到所以为null==");
System.out.println(ClassLoader.getSystemClassLoader().getParent().getParent());//引导类加载器;它是由原生代码实现的;用java获取不到所以为null
//获取系统下path指定的什么;即系统在这个目录下加载和处理
System.out.println(System.getProperty("java.class.path"));
System.out.println("=============================");
String a = "王伟";
System.out.println(a.getClass().getClassLoader());//getClassLoader获得类加载器;控制台显示null;是因为系统的核心机制里提供了java.lang.String
//自定义的没有被加载;这是保证java核心库的类型安全
System.out.println(a);//无法修改而获取String类里的"aaa"
}
}
//结果----------------------------------------