Java
— один из наиболее часто используемых языков программирования, который мы еще не обсуждали в нашем Rust Interop Guide. В этой статье мы рассмотрим три различных метода вызова кода Rust
из Java
: JNI
, JNR-FFI
и Project Panama
. Мы покажем различия между этими методами и проведем базовый бенчмаркинг для сравнения их производительности. Эти методы работают не только для Java
, но и для других языков JVM, таких как Kotlin
. Здесь мы в основном сосредоточимся на Java
, но примеры Kotlin
доступны в ветке KotlinЧитать полностью »
Рубрика «jni»
Кофе и крабы. Вызов Rust-кода из Java
2025-02-20 в 6:15, admin, рубрики: ffi, interop, java, jni, jnr, project panama, RustПроизводительность Android приложений Kotlin в сравнении с С++
2023-05-02 в 8:16, admin, рубрики: Android NDK, jni, kotlin, Ndk, мандельброт, Разработка под androidВсем привет! В процессе учебы заинтересовался Android разработкой, в рамках одного из заданий необходимо провести исследование. Выбрал тему, которая давно разжигает мое любопытство, а именно производительность кода на Kotlin в сравнении с С++.
Поиск в русскоязычном интернете не дал почти ничего, всё, так или иначе сводится к перемешиванию, примитивных типов в цикле – пузырьковая сортировка и другие классические алгоритмы. В целом такие эксперименты приводят к выводу о том, что использование JNI имеет слишком высокую стоимость и Java работает быстрее.
Реверс-инжениринг протокола китайского USB ИК трансивера
2020-03-30 в 11:31, admin, рубрики: android, HID, ida, ir remote, java, jni, lg, remote control, reverse engineering, tiqiaa, tview, winusb, периферия, Программирование, реверс-инжиниринг
Попался мне китайский MicroUSB ИК трансивер, и возникло желание подключить его к компу с Windows. Трансивер представляет собой весьма компактный девайс с разъемом Micro USB. Единственный «официальный» вариант работы с ним — через Android приложение под названием ZaZaRemote.
При подключении к компу через переходник девайс определился как HID-совместимое устройство USBVID_10C4&PID_8468. Гугление по этому ID не дало никаких результатов, и пришлось заняться реверсингом протокола.
Читать полностью »
Внешняя компонента для 1С Мобильной платформы(BroadcastReceiver)
2020-01-19 в 18:57, admin, рубрики: 1С, c++, jni, Разработка под androidВсе сказанное в статье будет интересно исключительно разработчикам 1С.
Сегодня мы разберем внешнюю компоненту для «1С Мобильное приложение». Эта статья появилась по двум причинам. Разрабатывать будем все под тот же АТОЛ Smart.Lite
- Разработка нативного приложения оказалась куда сложней, чем я думал изначально.
- Поступило несколько запросов именно на внешнюю компоненту для 1С
JNI: Подружим Java и C++
2018-04-11 в 13:39, admin, рубрики: c++, java, java native interface, jni, tutorialВведение
Бывают моменты, когда в Java некоторые действия выполняются за пределами обычных Java-классов. Например, необходимо исполнить код, написанный на C/C++ или другом каком-нибудь языке.
В данной статье рассмотрим данный вопрос с практической точки зрения, а именно напишем простой пример взаимодействия кода Java с кодом C++, используя JNI. Статья не содержит чего-то сверхестественного, это скорее памятка для тех, кто с этим не работал.
Читать полностью »
Однажды встретились JMeter и незнакомка…
2016-11-20 в 0:26, admin, рубрики: groovy, http, java, jmeter, jni, jupyter, pandas, wget, балансировка нагрузки, высокая производительность, плагин, Тестирование IT-систем, Тестирование веб-сервисов
Кадр из фильма «Дом у озера». Встреча (www.kinopoisk.ru)
Джим ещё не знал, как подойти к ней, с чего начать разговор и на каком языке его вести. Но он видел многое, владел языками и имел в рукаве не один козырь. И будучи уверенным в помощи верных друзей (это мы с вами) и забыв про сомнения, шёл на встречу судьбе.
Ниже рассказ о том, как Джим завоёвывал снова и снова сердце незнакомой системы. Не подумайте, что незнакомок было несколько. Она была одна, единственная, но такая разная, и от того истории будут следовать одна за другой.
Читать полностью »
Вызываем Java код из Love2D
2016-05-21 в 9:04, admin, рубрики: C, game development, Gamedev, java, jni, love2d, Lua, luajit, разработка игрВсем доброго времени суток!
Возникла потребность встроить рекламу в свою игру на Love2D. Решил показывать банер после выиграша игрока и тут возникли сложности: банер вызывается Java кодом приложения, а выиграш определяется в Lua коде. Свзязывает их код на Си, туториалов, как добавлять свои методы в движок не было, и пришлось копаться в коде самостоятельно. Репозиторий Love2D для Android лежит вот тут.
Ускоряем приложение Android с помощью Golang
2015-06-18 в 12:46, admin, рубрики: android, Go, golang, jni, Разработка под android
Разработка мобильных приложений — это всегда компромисс между тем, что хочется сделать и тем, что позволяет сделать платформа устройства. В этой статье рассказывается о том, как увеличить возможности приложения Android с помощью Golang.
Читать полностью »
Hello android from qt
2015-04-13 в 8:31, admin, рубрики: android, c++, jni, qt, Разработка под android, метки: AndroidЭта статья о том, как подружить языки Java и C++ в одном приложение для операционной системы Android.
На С++ написано огромное количество кода. Мне хотелось бы как-то использовать этот код в своих приложения, но почему-то у меня процесс использования вызывал некий дискомфорт. Скорей всего, это, банально, было связано с тем, что основой моей рабочей средой является Android Studio, в которой работа с нативным кодом, скажем так, не самая лучшая. Но вот мысль о том, чтобы комфортно разрабатывать приложение с нативной частью не оставляла меня никогда. Поэтому я решил попробовать скрестить всю мощь библиотеки Qt и приложение, написаное на родном для Android языке — Java.
Читать полностью »