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

aelfa

Member
12.05.2006
6
0
#1
Ситуация следующая. Написал на 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.
Подскажите, пожалуйста, что это может быть и как с этим бороться. Спасибо.