Как мне остановить затмение от приостановки так часто?

avatar
Jana
1 июля 2021 в 18:29
94
1
0

В настоящее время я пытаюсь написать новую программу, но по какой-то причине мое затмение приостанавливается каждые 30 секунд или около того. Я думаю, что это как-то связано с новым кодом, который я пишу.

Я использую eclipse 21-03, мой сервер Wildfly версии 21.0.2 и openJDK-11.

Я уже пытался выделить eclipse больше оперативной памяти, но это не помогло. Вы можете увидеть прикрепленное изображение моего диспетчера задач. Eclipse по-прежнему использует так много оперативной памяти, хотя я остановил сервер и программу. Что мне нужно сделать, чтобы приостановить задачу рабочей области, но не остановить запуск eclipse?

image

Источник
Code-Apprentice
1 июля 2021 в 19:04
0

Что вы имеете ввиду под "приостановить"? Что вы делаете и что потом происходит?

Jana
1 июля 2021 в 19:28
1

Я пытаюсь открыть класс Java для редактирования своего кода. Я делаю это, пока никакие другие программы не запущены. Eclipse либо бесконечно долго открывает класс, либо падает из-за того, что запрос занял слишком много времени.

howlger
2 июля 2021 в 07:50
0

@Jana Это может быть вызвано установленным вами плагином. Что вы получаете с Eclipse 2021-06 без дополнительных плагинов?

Jana
2 июля 2021 в 14:19
0

Я установил Eclipse 2021-06, но если я импортирую свои проекты, появляется та же проблема. Возможно ли, что я использую неправильную версию Java? Я запустил и отредактировал код на виртуальной машине, и это сработало.

Ответы (1)

avatar
JayC667
1 июля 2021 в 18:36
0

1,5 ГБ — это вполне нормально для Eclipse. Грустно. Перегрузка ОЗУ

Есть две причины, по которым Eclipse приостанавливает выполнение кода:

  1. Вы установили точки останова, то есть ручные инструкции, которые говорят Eclipse остановиться в режиме отладки. Это маленькие синие точки на номерах строк в окне кода.
  2. Некоторые исключения проходят через трассировку стека без обработки. Если это произойдет в режиме отладки, Eclipse остановится там, где возникло исключение, и сообщит вам причину.

Решения:

  1. Улучшите свой код, чтобы исключения не срабатывали. Используйте try-catch
  2. Удалить установленные вами точки останова
  3. Не запускайте приложение в режиме отладки, а в обычном режиме. Таким образом, отладчик не будет присоединен и не будет прерывать "нормальный" поток.

Пример прерывания исключения в режиме отладки:

  • Всплывающее окно показывает, что x имеет значение null, поэтому доступ к x.length() вызовет NullPointerException (NPE), который не перехватывается, но завершается с ошибкой до Thread.
  • В правом нижнем углу в представлении отладки показано, где и почему выполнение остановлено.

This is what a stop looks like when debugger hit uncaught exception

Jana
1 июля 2021 в 18:50
0

Но 1,5 ГБ — это ненормально, если код не запущен, не так ли? Eclipse уже перестает работать, если я просто пытаюсь открыть простой класс Java. Я по-прежнему старался удалить все точки останова и перехватить все исключения, которые могли возникнуть, но это не решило проблему.

JayC667
1 июля 2021 в 18:53
0

Дайте нам пример снимка экрана, когда Eclipse останавливается, и что он говорит в «Представлении отладки», то есть маленьком окне с зеленой ошибкой на нем (Меню: Окно -> Показать представление -> Отладка). И, возможно, также наведите указатель мыши на отмеченную строку и покажите нам некоторые детали отладки, которые появляются при наведении курсора на переменные.

JayC667
1 июля 2021 в 18:55
0

И если код выполняется, это обычно не влияет на ресурсы Eclipse, так как большая часть действий происходит в JVM, запущенной (внешне) для запуска приложения.

Gavin
1 июля 2021 в 19:17
0

Один из способов узнать, ваш ли это код или eclipse, — открыть проект в IntelliJ и VCCode или в другой IDE по вашему выбору.

howlger
2 июля 2021 в 07:17
0

Нет, 1,5 Гб это не нормально. На снимке экрана показан довольно старый Eclipse, и в прошлом, например, Maven вызывал высокое потребление памяти. Это также может быть вызвано дополнительно установленным плагином.