Java - инструмент для сборщика мусора? - PullRequest
0 голосов
/ 27 апреля 2018

Можно ли ввести байт-код в сборщик мусора? У меня есть предчувствие, что ответ будет «нет», но я не могу найти что-либо об этом в Интернете.

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Невозможно ввести байт-код в GC. Байт-код и GC - две связанные области, но не на одном уровне. Байт-код является языком более высокого уровня, в то время как GC VM (например, IBM J9 и Hotsppot) находятся на более низком уровне и в основном реализованы на языках C / C ++ /. Интерпретация байт-кода обычно преобразуется в выполнение собственного кода посредством вызовов JNI.

Встраивание объектов - это одна оптимизация времени выполнения, и для нее существует более одного определения. Подобно работе Кристиана, я также сделал много object inlining, что отличалось от христианской оптимизации для Hotspot. Вы можете посмотреть https://dl.acm.org/citation.cfm?id=3141874

Поскольку оптимизация во время выполнения и сборщик мусора являются двумя ключевыми темами в ВМ, исследователи, как правило, выясняют влияние оптимизации, которую проводят одна, и других измерений. Это может быть мотивация, которую вы задали вопрос, и объект, который вы указали в работе Кристана.

0 голосов
/ 27 апреля 2018

Нет, это невозможно. Сборщик мусора JVM реализован на языке C.

Вы можете использовать GC, загрузив исходный код OpenJDK, изменив его и собрав его.

...