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