Два сомнения из документации «Обзор дизайна JNI»:
Указатель интерфейса JNI действителен только в текущем потоке. Таким образом, собственный метод не должен передавать указатель интерфейса из одного потока в другой. Виртуальная машина, реализующая JNI, может выделять и хранить локальные данные потока в области, на которую указывает указатель интерфейса JNI.
JNI env(указатель интерфейса JNI) ) — это всего лишь указатель на указатель, который делает доступными через него функции JNI.
Тогда почему каждому потоку требуется собственный JNIEnv? Я просто хочу, чтобы JNIEnv имел доступ к функциям JNI, которые, как я полагаю, останутся одинаковыми для каждого потока. почему я должен получать JNIEnv для каждого потока конкретно?
еще один расплывчатый вопрос: что здесь означают эти строки:
ВМ может поддерживать две таблицы функций JNI:
одна выполняет тщательную проверку недопустимых аргументов и подходит для
отладки;
другой выполняет минимальный объем проверок, требуемый JNI
спецификация и, следовательно, более эффективна.
Означает ли это, что виртуальная машина Java может предоставлять две версии JNIEnv (указывающие на две разные таблицы функций) для потребитель, один из которых выполняет тщательную проверку аргументов, или это означает, что он внутренне использует две таблицы функций, я думаю, это означает последнее, но как потребитель может воспользоваться любыми преимуществами функции тщательной проверки недопустимых аргументов.
< п>Ссылка: https://docs.oracle.com/javase/7/docs/t ... ml#wp16696
Подробнее здесь: https://stackoverflow.com/questions/792 ... d-specific
Почему JNI env (указатель интерфейса JNI) зависит от потока? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1732352337
Anonymous
Два сомнения из документации «Обзор дизайна JNI»:
Указатель интерфейса JNI действителен только в текущем потоке. Таким образом, собственный метод не должен передавать указатель интерфейса из одного потока в другой. Виртуальная машина, реализующая JNI, может выделять и хранить локальные данные потока в области, на которую указывает указатель интерфейса JNI.
JNI env(указатель интерфейса JNI) ) — это всего лишь указатель на указатель, который делает доступными через него функции JNI.
Тогда почему каждому потоку требуется собственный JNIEnv? Я просто хочу, чтобы JNIEnv имел доступ к функциям JNI, которые, как я полагаю, останутся одинаковыми для каждого потока. почему я должен получать JNIEnv для каждого потока конкретно?
еще один расплывчатый вопрос: что здесь означают эти строки:
ВМ может поддерживать две таблицы функций JNI:
одна выполняет тщательную проверку недопустимых аргументов и подходит для
отладки;
другой выполняет минимальный объем проверок, требуемый JNI
спецификация и, следовательно, более эффективна.
Означает ли это, что виртуальная машина Java может предоставлять две версии JNIEnv (указывающие на две разные таблицы функций) для потребитель, один из которых выполняет тщательную проверку аргументов, или это означает, что он внутренне использует две таблицы функций, я думаю, это означает последнее, но как потребитель может воспользоваться любыми преимуществами функции тщательной проверки недопустимых аргументов.
< п>Ссылка: https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/design.html#wp16696
Подробнее здесь: [url]https://stackoverflow.com/questions/79214855/why-jni-env-jni-interface-pointer-is-thread-specific[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия