С учебы мне говорят то, что JNI это c++. И по скорости выполнения он превосходит Java. Но капаюсь я в нём и, как оказалось, вызов JNI это очень трудаемкая задача. И она требует до 12 проходов (шагов). Стоит ли вообще его использовать? И есть ли конкретные случаи когда он в Java так необходим?
Ответ
Прямо с сайта Oracle
Примеры, когда следует использовать JNI:
Стандартная библиотека JAVA не поддерживает платформенно-специфические возможности, требуемые конкретным приложением.
У вас уже есть библиотека, написанная на другом языке, и вы хотите использовать ее в JAVA.
Вы хотите реализовать некоторые участки кода, критичные к скорости исполнения, на языке более низкого уровня типа Ассемблера.
Пример: граф обработки аудио/видео с фильтрами. Фильтр имеет интерфейс JAVA-объекта, а алгоритм конкретного фильтра реализован на C/ASM и подключается с помощью JNI.
Комментариев нет:
Отправить комментарий