5

JVM的功能是什么?我所知道的是:

  • 即时编译器
  • GC
  • 内存分配器

加载 Java 应用程序时它会执行哪些步骤?

我想知道,因为如果我将 Java 应用程序的加载时间与这些步骤进行比较:

  • InitializeNativeTarget在 LLVM 上
  • 一些 GC 初始化
  • 一些 Qt/GTK/无论什么初始化
  • 应用程序部分的一些 JIT/ahead 编译
  • 应用程序初始化本身

在我看来,加载 JVM 所需的时间比执行我上面列出的步骤所需的时间要长得多。那么除此之外它还有什么作用呢?

4

2 回答 2

2

这实际上是一个非常有趣的问题 - 自己看看,运行一个 Hello World 程序,为 java 可执行文件提供选项 -XX:-TraceClassLoading。

于 2010-08-17T01:58:05.690 回答
1

它从头开始引导整个 JVM。这需要一段时间。

于 2010-08-17T06:42:22.610 回答