jniによる、java vmからのネイティブコードの呼び出しは、vmの実行環境の一貫性を保つために、通常のjavaプログラムの実行時とは異なる例外的なメモリ管理や排他制御を必要とする場合があり、しばしばプログラムの実行速度の低下を招くことがある。