Ваш вопрос очень неясен, но если вызов System.exit завершается успешно, ОС прекратит ваше приложение.
Если вы хотите, чтобы System.exit не удался, вы можете установить диспетчер безопасности и предотвратить это. Помимо этого вы можете обработать код через пользовательский загрузчик классов и удалить вызов.
Редактировать: если вы идете в w/Security manager, скорее всего, бросая SecurityException, будет завершен поток. Если это не так - обмануть и бросить ThreadDeath. Если это еще не так - просто держите нить, например. for(;;) Thread.sleep(10000);
Последний протекает поток и его ресурсы, но, по крайней мере, не будет убивать ваше приложение.
link to similar question
ли этот метод реагировать на перерывы? У вас есть способ заставить его выйти? – assylias
Err, не закончится ли JVM в конце концов? Независимо от прерываний? – Thihara
@Thihara Вопрос выглядит следующим образом: как остановить эту нить, не останавливая основной поток. Конечно, System.exit завершит JVM, и, похоже, OP это понимает. Но на самом деле я вижу, что это также можно понимать как: новый поток вызывает System.exit, и я хочу, чтобы это не было сделано. Это неясно ... – assylias