Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > different System.exit |
Автор: PashaOvechkin 22.6.2009, 00:27 | ||
Привет! Стоит цель сделать реинициализацию системы в рантайме. Самое простое решение ето - запустить систему в новой ЙВМ, и после етого текущей системе сделать System.exit.
Но ето конечно же не очень хорошее решение. Хотелось бы в пределах одной йвм остаться. В моём случае ето Свинг апликация. Есть какие нибудь напутствия? Как можно взять и прикончить все созданные обьекты? (понятно что нужно петерять на них все ссылки... Но может есть какое нить интересно решение) |
Автор: Connie 25.6.2009, 13:12 | ||||
PashaOvechkin,
Я бы сделал примерно так
Вместе с главным приложением удалятся и все ссылки, которые там указывают на дочерние объекты |
Автор: PashaOvechkin 25.6.2009, 17:22 | ||||
Да, спасибо. Но я делал иначе - более надёжно->
Так же зачищал всё необходимое. И после зачистки
Получилось не плохо. Работает без глюков. После реинициализации память не изпользует лишнюю. Почему создал топик? Думал может есть какой нитьМЕГА способ очистки пмяти, о котором я не слышал ![]() |
Автор: Connie 25.6.2009, 21:42 | ||||
PashaOvechkin, но это равносильно тому, что бы пересчитывать детей главной формы. Смысла нет. Если они не прицеплены ссылкой к ней, то гарбаж коллектор соберет их все равно, а если прицеплены, то после удаления главного окна и они будут удалены. Если следовать Вашей методе, то удалять такую форму следует так:
http://java.sun.com/javase/6/docs/api/java/awt/Window.html#dispose()
На мой взгляд, я конечно могу и ошибаться ![]() |