Доступ к классам VirtualMachine и HotspotVirtualMachine из JDK1.5

Как я могу использовать sun.tools.attach.HotSpotVirtualMachine а также com.sun.tools.attach.VirtualMachine в JDK1,5?

2 ответа

Решение

Эти классы были введены в Java 6 (Mustang), поэтому краткий ответ заключается в том, что вы не можете использовать их в Java 5 (JDK 1.5).

Немного более длинный ответ заключается в том, что теоретически вы могли бы перенести эти классы обратно в Java 5. Однако это повлечет за собой внесение изменений в базу исходного кода для виртуальной машины Java 5, и Sun / Oracle никогда не публиковала это. Более того, задним портом больше не будет Java 5.


В ответ на ответ @Peter Lawrey, это был тот случай, когда доступ sun.* классы считались большими нет-нет. Однако в последнее время Sun создает новые API, предназначенные для публичного использования (по крайней мере, в определенных контекстах). API "Присоединение" является одним из таких примеров.

Attach API не является частью стандартной библиотеки классов Java SE, поэтому его использование потенциально сделает вашу платформу приложения (или инструмента Java) специфичной. И, несомненно, существует некоторый риск при использовании API, который позволяет вам взаимодействовать с JVM на этом уровне. Но, безусловно, Sun опубликовала API с намерением, чтобы люди могли использовать его... в случае необходимости.

Вы не можете безопасно использовать классы sun.* В любой версии Java. Они предназначены только для внутреннего использования и могут изменяться / исчезать между обновлениями Java.

Вы можете попробовать это, прикрепив библиотеку tools.jar на свой страх и риск. http://www.docjar.com/docs/api/sun/tools/attach/HotSpotVirtualMachine.html

Другие вопросы по тегам