Как отладка намного легче в Eclipse для Java-программ? - PullRequest
2 голосов
/ 12 января 2010

Всякий раз, когда я пишу программу в Eclipse, каждая строка соблюдается, как переход к следующей строке. Она показывает, что компиляция выполняется во время написания только его программы. Означает ли это, что файл javac.exe запускается всякий раз, когда вы пишете строку программы? Отладка в Eclipse намного проще.

Ответы [ 4 ]

9 голосов
/ 12 января 2010

Eclipse имеет свой собственный компилятор (JDT). Он не использует компилятор javac.exe. Вопрос в том, как добиться такого короткого времени компиляции?

Внутренняя структура данных, поддерживаемая Eclipse для представления Java-программы (AST), является той же структурой данных, которая используется компилятором JDT. Такое совместное использование данных позволяет компилятору работать быстрее, так как не требуется повторная компиляция всей программы (или даже всего файла) снова.

Кроме того, в отличие от javac.exe, компилятор JDT находится внутри Eclipse. Это не отдельный процесс, поэтому его не нужно загружать (операционной системой) так же, как это делает javac.exe.

В дополнение к этому (и это справедливо для всех компиляторов Java), Java имеет динамическое связывание. Каждый класс связан с программой, когда он загружается во время выполнения программы. Это избавляет от необходимости фазы связывания в конце компиляции (а-ля C / C ++ / C #). Фаза связывания, как правило, довольно продолжительна, поскольку она обрабатывает программу в целом (в отличие от компиляции, которая выполняется для каждого файла отдельно). Таким образом, связывание становится медленнее по мере роста программы. Такие методы, как инкрементное связывание, смогли смягчить это замедление, но не полностью.

Учитывая, что Java не требует (статического) связывания, вы можете перейти в состояние, когда программа на Java готова к работе намного быстрее, чем на других (статически связанных) языках.

3 голосов
/ 12 января 2010

Eclipse на самом деле имеет свой собственный компилятор, который компилирует ваш код при вводе.Это не javac.exe, но вы можете прочитать больше об этом на странице JDT .

0 голосов
/ 12 января 2010

Вы можете отключить его в Project-> Build Автоматически. Eclipse использует свой собственный компилятор Java - eclipsec вместо javac.

0 голосов
/ 12 января 2010

Я полагаю, что Eclipse IDE использует свой собственный компилятор Java.

Javac.exe - это собственный официальный Java-компилятор Sun, который, я уверен, компилятор Eclipse сильно позаимствовал у.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...