Xbooting класс Java

По сути, я хочу заменить класс Canvas во время выполнения приложением, которое использует мой собственный класс Canvas, я слышал, что xbooting может это сделать, но нет никаких руководств или чего-то еще.

Так что мне просто интересно, что такое аргументы vm, не могли бы вы мне помочь?


person Francis Malloch    schedule 10.01.2013    source источник
comment
использует мой собственный класс Canvas DYM a java.awt.Canvas? Время присоединиться к нам в 3-м тысячелетии и использовать Swing. Кстати 1) Какой вариант использования здесь для а) Расширение этого класса. б) Использование его вместо встроенного класса? 2) Распространение этого приложения будет незаконным. АФАИУ.   -  person Andrew Thompson    schedule 10.01.2013
comment
@AndrewThompson - Насколько я понимаю, было бы незаконным распространять JVM с пользовательским классом вместо стандартного. Тем не менее, распространение инструкций по классу о том, как изменить путь к классу загрузки, было бы нормальным. (Хотя это не очень хорошая идея...)   -  person Stephen C    schedule 10.01.2013
comment
@StephenC Спасибо за разъяснение. Ваше предложение имеет больше смысла.   -  person Andrew Thompson    schedule 10.01.2013
comment
Кстати -1 за игнорирование моих вопросов. Они были предназначены, чтобы помочь вам прийти к лучшему решению.   -  person Andrew Thompson    schedule 10.01.2013
comment
@AndrewThompson Я думаю, что Фрэнсис должен был ответить на ваши вопросы, хотя я не думаю, что они имеют отношение к исходной проблеме, и поэтому отрицательный голос не заслуживает. Проблема проста - как настроить bootclasspath, который не нужно обосновывать вариантом использования. Кроме того, как уже указывал StephenC, писать/распространять такие приложения совершенно законно. Спасибо.   -  person Aleš    schedule 10.01.2013


Ответы (1)


Под xboooting вы, вероятно, подразумеваете параметр -Xbootclasspath?

Вы можете использовать -Xbootclasspath для переопределения классов, загружаемых при загрузке виртуальной машины. Таким образом, вы можете дать виртуальной машине свою собственную реализацию определенного класса, и она будет использоваться с самого начала виртуальной машины. Вы можете сделать что-то вроде этого:

java -Xbootclasspath/p:path_to_the_jar_with_myCanvas_class.jar HelloWorld.class

Но -Xbootclasspath не заменит класс Canvas во время выполнения, замена произойдет уже при старте ВМ.

Вот хороший пост о Xbootclasspath: Когда использовать -Xbootclasspath в HotSpot?

person Aleš    schedule 10.01.2013
comment
Да, это то, что я хочу, ха-ха :) просто пытаюсь выяснить остальные параметры - person Francis Malloch; 10.01.2013