JVM如何内部管理
2。如果在两个不同的用户定义的类加载器(相同的类名和包)中加载不同版本的类加载。如果JVM加载了将在我的应用程序中引用的两个类。
我们知道JVM在类,包和组合的组合中加载类。 Klass装载机。
我想知道内部JVM如何处理这些情况。
答案 0 :(得分:0)
在JVM实例中,有关已加载类型的信息存储在称为方法区域的内存逻辑区域中。对于它加载的每种类型,JVM在方法区域中存储不同类型的信息,包括: •类型的完全限定名称 •类型是类还是接口 •对类ClassLoader的引用 - 有关用于加载此类型的类加载器的信息
答案 1 :(得分:0)
JVM将它们视为不同的类。不同类加载器的元数据是隔离的,因此类是否具有相同的名称并不重要。
每个ClassLoader都有自己的Metachunk来存储类元数据。