宜春
2019-11-16 07:28关于JVM命名空间问题,求助大佬!!!
首先命名空间的概念:
每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成。
在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类。
在不同的命名空间中,有可能会出现类的完整名字(包括类的包名)相同的两个类。
我举出两种情景:
1、创建一个自定义加载器,加载classpath中的class文件,自定义加载器两个实例分别加载这个class文件,这个时候 命名空间一致 (class文件由父类系统加载器加载)
2、classpath中的class文件删了将其放到电脑桌面位置【也就是系统加载器加载不了最终由自定义加载器加载】,同样两个实例 这个时候,命名空间不一致 (自定义加载器加载)
那么
第一种情况相同命名空间大概可表示为:系统加载器.类名.包名 【有错吗?】
第二种情况的不同命名空间大概可表示为:自定义加载器实例1.类名.包名 以及 自定义加载器实例2.类名.包名
不知我上面是不是理解错了?
命名空间由该加载器及所有父加载器所加载的类组成。
这句话中的该加载器是指的真正加载这个类的加载器吗?
那这句话又怎么理解,还望大佬指点!
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 询问一个JVM GC的问题
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 关于jvm内存手动释放问题
- java
- 3个回答
- jvm内存溢出问题,为什么jvm没及时回收。
- jvm
- 面试
- 内存溢出
- 10个回答
- java进程之间以及跟JVM是什么关系
- java
- jvm
- 9个回答
- Tomcat的JVM参数配置问题不知道哪里错了,大神帮看看!window系统,
- 性能
- 优化
- jvm
- tomcat
- 2个回答
换一换