classloader问题:import my.package._ 是否会load该包下所有的class?

在scalal REPL下做的实验

scala > import java.util._

通过jconsole观察确实新load了98个class(java.util包下的所有的类)

准备了一个 whj.jar 其package为a,里面有1000个class

scala > import a._

却发现新增只有1,2百,而非全部1000个。不清楚是jvm还是scala对class太多的情况做了处理?

classloader问题:import my.package._ 是否会load该包下所有的class?》上有3个想法

  1. scala> import java.util._
    import java.util._

    ➜ jstat -class `pgrep java` 1000 100
    Loaded Bytes Unloaded Bytes Time
    5103 11496.5 0 0.0 1.24
    5110 11507.8 0 0.0 1.24
    5147 11566.4 0 0.0 1.25

发表评论

电子邮件地址不会被公开。 必填项已用*标注