Использование Jni

Тема в разделе "Java", создана пользователем aelfa, 25 авг 2013.

  1. aelfa

    aelfa Member

    Регистрация:
    12 май 2006
    Сообщения:
    6
    Симпатии:
    0
    Ситуация следующая. Написал на java небольшую программку, которая периодически вызывает методы из dll (С++). Для вызова методов используется JNI (native). Программу писал в IDEA. Написал, протестировал - все работает отлично. Собрал исполняемый jar. Закрываю IDEA, запускаю jar - программа работает правильно, но дико тормозит! Запускаю из IDEA - все летает. Перепробовал различные параметры запуска: Xms, Xmx, XX:permSize, XX:-UseParallelGC - результата нет. -verbose:gc показывает, что сборщик мусора срабатывает приблизительно в одинаковых случаях (как для запуска с IDEA так и без). Расставил в программе метки для определения части кода, который тормозит. Оказалось, что весь код работает одинаково, а вот время работы native методов если запущено не из IDEA значительно увеличивается (раз в 5 - 10).
    Еще заметил одну особенность: если jar запускается при открытой opere - программа работает отлично (mozilla и ie не помогают :mellow: )!
    использовал jdk1.6 (но пробовал пересобрать под 1.7 - результат тот же), Idea 10.5.
    Подскажите, пожалуйста, что это может быть и как с этим бороться. Спасибо.
     
Загрузка...

Поделиться этой страницей