如果我们再次加载已经加载的类会发生什么?

Gur*_*lki 2 java

我的意思是我们有一个已经加载到JVM中的类.在其他一些方法中,我们在不知不觉中试图加载同一个类,所以在这种情况下会发生什么?即将有任何错误或异常说它已经加载.如果没有,那么我们是否可以修改具有一些额外功能的类,并在需要热部署时加载它.

Boz*_*zho 5

什么都没发生.VM首先检查是否加载了类,如果没有,则加载它.否则返回已加载的类.

来自ClassLoader.loadClass(..):

// First, check if the class has already been loaded
Class c = findLoadedClass(name);
if (c == null) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

(您可以查看有关类加载的详细信息的这篇文章.虽然它与您的问题没有直接关联(作为一个整体),但对于像您这样的问题,它是一个很好的答案来源)