В чем разница между javac и компилятором Eclipse?



является ли компилятор Java Eclipse просто оболочкой вокруг того же ядра, что и javac программа обернута вокруг, или это отдельный компилятор вообще? Если последнее, то зачем им изобретать велосипед?

608   4  

4 ответов:

Eclipse реализовал свой собственный компилятор под названием компилятор Eclipse для Java (ECJ).

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

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

тот факт, что Eclipse поставляется с собственным компилятором, также очевиден, потому что вы можете писать, компилировать и запускать Java-код в Eclipse даже без установки Java SDK.

несколько примеров, где суд является предпочтительным по сравнению с javac находится:

  • Apache Кот Европейский суд использует для компиляции JSP-страницы
  • IntelliJ IDEA имеет поддержку ECJ, начиная с компилятор GNU для Java (GCJ) 4.3,
  • документация по интеграции с ЕС,
  • Liferay строит с ECJ.

все уже объяснили, что они разные. Вот некоторые различия в поведении, которые я заметил между двумя компиляторами. Все они сводятся к ошибке (по крайней мере) одной из реализаций.

оптимизация времени компиляции, связанные

дженерики типа вывода, связанные

встроенный компилятор Eclipse основан на IBM компилятор компилятора Java. (Обратите внимание, что Eclipse также начал свою жизнь в IBM). Он полностью независим от компилятора Java Sun в JDK; это не обертка вокруг Sun javac.

Jikes существует уже давно, раньше он был намного быстрее, чем стандартный компилятор Java JDK (но я не знаю, верно ли это). Что касается того, почему IBM хотела написать свой собственный компилятор Java: возможно, из-за лицензионных причин (они также имеют свою собственную реализацию Java).

Это отдельный компилятор в целом. Это необходимо, так как javac не позволяет компиляцию слегка сломанного кода, от сайт Eclipse

инкрементный компилятор Java. Реализованный как Eclipse builder, он основан на технологии, развитой из компилятора VisualAge for Java. В частности, он позволяет запускать и отлаживать код, который все еще содержит неразрешенные ошибки.

Comments

    Ничего не найдено.