Java:当一个类需要在JVM中加载两次或更多次时?

Java:当一个类需要在JVM中加载两次或更多次时?,jvm,Jvm,当我读到一些关于JVM的文章时,它告诉我JVM的名称空间可以识别JVM中加载的类,只有类的全名是没有用的!何时或在何种情况下,类将在jvm(我指的是同一个jvm)中加载两次或更多?这是一种有用的方法吗?如果您只是尝试使用反射多次加载同一个类,那么后续时间将返回已经加载的类。这是一种常见的情况,没有什么特别的 可以使用不同的类装入器装入同一个类。一般来说,这是没有必要的,而且可能会非常混乱。因为由不同类加载器加载的同一类的两个实例并不相等,是的,我知道开发人员通常不会使用两个不同的类加载器来加载同

当我读到一些关于JVM的文章时,它告诉我JVM的名称空间可以识别JVM中加载的类,只有类的全名是没有用的!何时或在何种情况下,类将在jvm(我指的是同一个jvm)中加载两次或更多?这是一种有用的方法吗?

如果您只是尝试使用反射多次加载同一个类,那么后续时间将返回已经加载的类。这是一种常见的情况,没有什么特别的


可以使用不同的类装入器装入同一个类。一般来说,这是没有必要的,而且可能会非常混乱。因为由不同类加载器加载的同一类的两个实例并不相等,

是的,我知道开发人员通常不会使用两个不同的类加载器来加载同一个类。但是jvm提供了这个特性,我只是想知道为什么要提供这个特性?如果在同一个JVM中运行多个需要分离的应用程序,那么在某些情况下,它是否是一个很好的特性,可以做一些惊人的事情呢。例如,同一web容器中的多个web应用程序不应该相互干扰。这也使得卸载或升级其中一个应用程序而不影响另一个应用程序成为可能。虽然这很难做到,但比尔是对的。如果你喜欢的话,把这篇文章作为一个小介绍来读。另一个例子是主应用程序中相同库的两个不同版本,以及一个容器或两个不同容器等。