Информация об изменениях

Сообщение Re[17]: JNI Attach от 06.11.2024 9:38

Изменено 06.11.2024 9:47 ·

Re[17]: JNI Attach
Здравствуйте, Pavel Dvorkin, Вы писали:

PD> Отчасти согласен. В DLL, конечно, нет уже фактически классов, только код и данные. Впрочем, и это не совсем так. Экспортируемые классы есть, вот от внутренних действительно почти ничего не осталось.

Классы в dll? Гы, такой гемор. Обычно из юзабельного только extern "C".

PD> Но COM, да, больше подходит для сравнения.

Угу, и в COM гораздо более грустно.

PD> ·>Да и вообще, ничего усложнённого я не вижу, две строчки кода. Гораздо проще, чем загружать dll — по сути указали источники, взяли класс по имени и готово.

PD> А почему действительно нет загрузки jar ? Он же по сути аналог DLL/COM тут — набор клаcсов. Почему нельзя его просто загрузить ? При статическом подключении (явно или через pom.xml) фактически он же загружается со всеми своими потрохами.
Я не знаю что может означать "jar загружается". Есть classpath — места где ищутся классы. И это вовсе не обязательно должны быть jar (который просто обычный zip-архив). Классы могут грузится и из обычной директории, из на лету сгенерённого массива байтов и даже из сети.
Re[17]: JNI Attach
Здравствуйте, Pavel Dvorkin, Вы писали:

PD> Отчасти согласен. В DLL, конечно, нет уже фактически классов, только код и данные. Впрочем, и это не совсем так. Экспортируемые классы есть, вот от внутренних действительно почти ничего не осталось.

Классы в dll? Гы, такой гемор. Обычно из юзабельного только extern "C".

PD> Но COM, да, больше подходит для сравнения.

Угу, и в COM гораздо более грустно.

PD> ·>Да и вообще, ничего усложнённого я не вижу, две строчки кода. Гораздо проще, чем загружать dll — по сути указали источники, взяли класс по имени и готово.

PD> А почему действительно нет загрузки jar ? Он же по сути аналог DLL/COM тут — набор клаcсов. Почему нельзя его просто загрузить ? При статическом подключении (явно или через pom.xml) фактически он же загружается со всеми своими потрохами.
Я не знаю что может означать "jar загружается". Есть classpath — места где ищутся классы. И это вовсе не обязательно должны быть jar (который просто обычный zip-архив). Классы могут грузится и из обычной директории, из на лету сгенерённого массива байтов и даже из сети.

В качестве аналогии можно сказать так: dll — соответсвует java-классу, а jar — это LD_LIBRARY_PATH. Вот и попробуй представь что может означать "загрузка LD_LIBRARY_PATH".