Java JVM中包含哪些函数

Java JVM中包含哪些函数,java,jvm,jit,llvm,Java,Jvm,Jit,Llvm,JVM的功能是什么?我只知道: JIT编译器 GC 内存分配器 加载Java应用程序时,它会执行哪些步骤 我想知道,如果我将Java应用程序的加载时间与以下步骤进行比较: 初始化LLVM上的ActivityTarget 一些GC初始化 一些Qt/GTK/init 部分应用程序的JIT/提前编译 应用程序初始化自身 在我看来,JVM加载所需的时间比执行上面列出的步骤所需的时间要长得多。那么除此之外,它还能做什么呢?这实际上是一个非常有趣的问题——你自己看看,运行一个Hello World程

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

  • JIT编译器
  • GC
  • 内存分配器
加载Java应用程序时,它会执行哪些步骤

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

  • 初始化LLVM上的ActivityTarget
  • 一些GC初始化
  • 一些Qt/GTK/init
  • 部分应用程序的JIT/提前编译
  • 应用程序初始化自身

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

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

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

你说呢?我认为这不应该被否决,这是一个相当有趣的问题。我尝试了
java-verbose:gc-XX:-TraceClassLoading JavaHelloWorld
,但它的输出只是
Hello World
。我错过了什么吗?@Albert:
-XX:+TraceClassLoading
Hm,这似乎向我展示了JVM加载了哪些类(很多)。但在此之前JVM本身在做什么?还有什么可以从中剥离出来呢?因为在我看来,它几乎不需要出现在那里的任何东西。引导程序到底是什么样子的?使用“-verbose”标志查看每个类被类装入器拉入时的情况。你可能会感到惊讶。。。