首页 > 其他 > 详细

JVM 启动类加载器2

时间:2019-06-15 22:41:02      阅读:116      评论:0      收藏:0      [点我收藏+]

在运行期,一个Java类是由该类的完全限定名(binary name,二进制名)和用于加载该类的定义类加载器(defining loading)所共同决定的。
如果同样名字(即相同的完全限定名)的类由两个不同的加载器所加载,那么这些类就是不同的,即便.class文件的字节码完全一样,并且从相同的位置加载亦是如此。

 

1、创建Sample

public class MyTest23 {
    public static void main(String[] args) {
        //系统类加载器加载路径
        System.out.println(System.getProperty("sun.boot.class.path"));
        System.out.println();
        //扩展类加载器加载路径
        System.out.println(System.getProperty("java.ext.dirs"));
        System.out.println();
        //应用类加载器加载路径
        System.out.println(System.getProperty("java.class.path"));

    }
}

  和之前的代码使用一样的。然后修改启动启动加载器的路径。

运行结果:

技术分享图片

在oracle的Hotspot实现中,系统属性sun.boot.class.path 如果改错,则运行会出错,提示错误信息: 
Error occurred duing initialization of VM

 

JVM 启动类加载器2

原文:https://www.cnblogs.com/linlf03/p/11029070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!