какие функции включены в JVM - PullRequest
5 голосов
/ 17 августа 2010

Каковы функции JVM? Все, что я знаю:

  • JIT-компилятор
  • GC
  • распределитель памяти

Какие шаги он выполняет при загрузке приложения Java?

Мне интересно, потому что, если я сравниваю время загрузки приложения Java с этими шагами:

  • InitializeNativeTarget на LLVM
  • некоторая инициализация GC
  • немного Qt / GTK / что угодно init
  • немного JIT / впереди компиляции частей приложения
  • само приложение init

Мне кажется, что загрузка JVM занимает намного больше времени, чем выполнение шагов, перечисленных выше. Так что же он делает в дополнение к этому?

Ответы [ 2 ]

2 голосов
/ 17 августа 2010

На самом деле это очень интересный вопрос - чтобы убедиться в этом, запустите программу Hello World с опцией -XX: -TraceClassLoading исполняемого файла java.

1 голос
/ 17 августа 2010

Он загружает всю JVM с нуля.Это занимает некоторое время.

...