java classloader如何识别重复的类?

2019年8月26日 5点热度 0条评论

假设我有一个Java项目,在我的类路径中添加了2个不同的jar。 Java类加载器在2个jar中发现了一些重复的类,然后仅其中一个将被加载。

classloader如何确定classpath中的两个类相同?只是按类Name或packageName.className进行比较还是比较这些类的每个字节代码?

解决方案如下:

它仅由完全限定的名称(包+类名)决定,并加载(通常-取决于类加载器),这是在类路径上找到的第一个类。没有字节码比较。