我知道,在典型情况下,一个类只会被加载一次。我也知道类是不可变的。因此,一旦类被加载,除非重新加载(通常不会发生),否则它不能被更改。
对于Jar文件是否也适用同样的规则呢?如果在JVM仍在运行并且先前已从Jar中加载了类时更新了Jar文件会发生什么?
我知道,在典型情况下,一个类只会被加载一次。我也知道类是不可变的。因此,一旦类被加载,除非重新加载(通常不会发生),否则它不能被更改。
对于Jar文件是否也适用同样的规则呢?如果在JVM仍在运行并且先前已从Jar中加载了类时更新了Jar文件会发生什么?
如果在该jar包中使用了一个类,则其定义将保持不变;如果新的类被加载到更新后的jar包中,那么新的类将被采用。