Являются ли компиляторы JIT и HotSpot отдельными или они работают как одно целое?

Компилятор JIT компилирует байт-код в некоторую целевую форму во время выполнения, прежде чем код будет выполнен. HotSpot содержит подробную информацию о конкретной платформе, на которой выполняется код, и может создавать высокооптимизированный код для этой машины.

Этот ответ на SO, похоже, предполагает, что оба из они работают как единое целое, в то время как этот ответ на SO, похоже, предполагает, что они независимы друг от друга.

Являются ли HotSpot и JIT в JVM Oracle двумя разными системами или только одной системой?


person Parag    schedule 26.10.2012    source источник
comment
HotSpot от Oracle - это реализация JIT-компилятора, который выполняет анализ горячих точек. HotSpot - это название этой конкретной реализации, JIT - это общая концепция.   -  person Mat    schedule 26.10.2012
comment
HotSpot - это реализация виртуальной машины Java. HotSpot имеет 2 JIT-компилятора (клиентский и серверный). В этом смысле JIT-компилятор в данном случае является частью виртуальной машины (HotSpot).   -  person Rickard    schedule 30.10.2012
comment
Я думаю, что поток (связанный в вопросе), который предполагает независимость точки доступа и JIT, вероятно, относится к HotSpot как к концепции и разделяет HotSpot и JIT как две разные концепции, где HotSpot использует данные профилирования для определения того, что компилировать, и JIT просто компилирует что-то перед выполнением. Итак, с этой точки зрения было бы справедливо сказать, что HotSpot использует JIT ...   -  person Parag    schedule 31.10.2012
comment
Переосмысление моего вопроса заставляет меня думать, что, возможно, это был не очень хороший вопрос :-)   -  person Parag    schedule 31.10.2012
comment
Некоторые JIT, например HotSpot, может запускать код без компиляции (в режиме интерпретатора). Если код выполняется много раз (опция -XX:CompileThreshold=###, где ### - счетчик выполнения), он будет JIT-компилирован. И другие JIT, такие как Google V8 для Javascript, не могут интерпретировать код, и они будут компилировать его при первом вызове или входе.   -  person osgx    schedule 07.12.2012
comment
К вашему сведению, docs.oracle.com/javase/9/jrockit -hotspot /   -  person KunYu Tsai    schedule 07.01.2019