Есть много вопросов по этому вопросу, но ответ не удовлетворил меня; Я кодирую простое окно GUI с помощью Swing. В настоящее время он содержит только 4 кнопки, и один из них открывает файл выбора.Использование памяти Java Swing
Когда я использую инструмент мониторинга VisualVM смотреть на использование памяти, результат показан ниже:
memory usage http://img17.imageshack.us/img17/3589/8txc.png
Первая щука появилась, когда я нажал на кнопку, то я не сделал ничего.
Это нормально для простоя приложения к потреблению 10M/мин (если он ничего не делает?)
Так как я должен сделать Quizz, как апплет с изображением, я должен использовать для вызова System.gc()
каждый время я перехожу к следующему вопросу, чтобы избежать (потенциально огромного?) использования памяти?
Calling system.gc() программно часто не ведет нигде, поскольку современные сборщики мусора имеют свою собственную эвристику, чтобы сделать чистку или нет. Я не уверен, почему ваш код делает это, это может быть просто нормально (пожалуйста, напишите все это, чтобы я мог попробовать, используя jconsole). Было бы интересно также увидеть его эволюцию за 6 минут исполнения. –
* «В этом вопросе много вопросов, но ответ не удовлетворил меня». Что, а не один из ответов на эти вопросы, указывал на то, что наблюдение за памятью Java-приложения. примерно так же полезно, как смотреть на свой собственный пупок в течение нескольких часов подряд? Беспокойство об этом, когда вы видите 'OutOfMemoryError', тогда у вас есть утечка памяти, которая нуждается в исправлении. В противном случае: если он не сломался, не исправляйте его. –
Jorge_B: ответ вискиспидера показывает, что вы были правы; Мне следовало подождать дольше. AndrewThompson: это странный способ заботиться о памяти, но я попытаюсь применить ваш совет в будущем :-) – bagage