代码之家  ›  专栏  ›  技术社区  ›  Allain Lalonde

Java库大小

  •  3
  • Allain Lalonde  · 技术社区  · 15 年前

    如果给我两个Jar格式的Java库,一个没有铃铛和哨子,另一个有很多,大部分都不用了。。。。我的问题是:

    2 回复  |  直到 15 年前
        1
  •  7
  •   matt b    15 年前

    简单的回答是,只要第一次需要类,就会加载它们。请注意,“needed”还表示“被正在加载的任何其他类引用”。

    因此,如果您有一整堆从未被任何活动代码触及过的类,它将不会被加载。

    如果您想确切地了解JVM正在加载哪些类以及何时加载,可以使用 -verbose:class 选项

        2
  •  5
  •   Andrey Adamovich    15 年前

    here :

    何时加载类型?

    这是一个非常棘手的问题 要有很大的灵活性 由JVM规范提供给JVM 实现。

    必须执行链接和链接 在初始化之前。虚拟机规范 初始化。它严格要求 在其上初始化类型 首次主动使用(参见附录A了解详细信息 使用“)。这意味着装载(和 必须执行类型的链接 在该类型的第一个活动