Как загрузить сторонние библиотеки (например, библиотеки X11) через код на Java? - PullRequest
0 голосов
/ 06 февраля 2009

Всякий раз, когда JVM запускается, т.е. когда запускается команда java; он ищет другие библиотеки в папке / java / jre / lib. Эти библиотеки вместе со сторонними библиотеками, такими как библиотеки X11, загружаются в память динамическим загрузчиком системы (например, dld.so в HP Unix).

Так можно ли загружать сторонние библиотеки из кода в java? Если да, то какие могут быть побочные эффекты?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2009

Что вам нужно, так это собственный интерфейс Java ( JNI ). Использование внешних встроенных библиотек сделает ваш код менее переносимым. Это сделает ваш код менее стабильным, поскольку ни одна из гарантий языка Java не будет выполняться. Это может иметь последствия для менеджера безопасности, поскольку вашему приложению потребуются разрешения для загрузки библиотеки. По моему опыту, есть много трудностей в написании хорошего кода JNI; конкретно освобождение и отладка.

SWIG может использоваться для автоматической генерации необходимого кода JNI.

0 голосов
/ 06 февраля 2009

Собственные библиотеки загружаются с System/Runtime.loadLibrary. Затем вам понадобится код для перевода между собственными вызовами библиотек и JNI (Java Native Interface). Затем вам потребуется код Java с нативными методами, определенными для вызова кода перевода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...