score:213
Eclipse has implemented its own compiler called as Eclipse Compiler for Java (ECJ).
It is different from the javac, the compiler that is shipped with Sun JDK. One notable difference is that the Eclipse compiler lets you run code that didn't actually properly compile. If the block of code with the error is never ran, your program will run fine. Otherwise, it will throw an exception indicating that you tried to run code that doesn't compile.
Another difference is that the Eclipse compiler allows for incremental builds from within the Eclipse IDE, that is, all code is compiled as soon as you finish typing.
The fact that Eclipse comes with its own compiler is also apparent because you can write, compile, and run Java code in Eclipse without even installing the Java SDK.
A few examples where ECJ is preferred over javac is:
- Apache Tomcat uses ECJ to compile JSPs,
- IntelliJ IDEA has support for ECJ, as of GNU Compiler for Java (GCJ) 4.3,
- GCJ integrates with ECJ,
- Liferay builds with ECJ.
score:15
It is a separate compiler altogether. This is needed as javac doesn't allow compilation of slightly broken code, from the eclipse site
An incremental Java compiler. Implemented as an Eclipse builder, it is based on technology evolved from VisualAge for Java compiler. In particular, it allows to run and debug code which still contains unresolved errors.
score:18
Eclipse's built-in compiler is based on IBM's Jikes java compiler. (Note that Eclipse also started its life at IBM). It is completely independent of Sun's Java compiler in the JDK; it is not a wrapper around Sun's javac
.
Jikes has existed for a long time, it used to be a lot faster than the standard JDK Java compiler (but I don't know if that's still true). As to why IBM wanted to write their own Java compiler: maybe because of licensing reasons (they also have their own Java implementation).
score:36
Everyone has already explained that they're different. Here are some difference in behaviors I've noticed between the two compilers. They all boil down to a bug in (at least) one of the implementations.
Compile-time optimization related
Generics type inferrence related
Source: stackoverflow.com
Related Query
- What is the difference between javac and the Eclipse compiler?
- What is the difference between the Eclipse Package Explorer and the Eclipse Project Explorer?
- What is the difference between Eclipse for Java (EE) Developers and Eclipse Classic?
- What is the difference between Eclipse 3.7 and Eclipse 4.1?
- What is the difference between rollback, backout and strip in the Mercurial Eclipse plugin?
- What is the difference between Eclipse with Spring IDE plugin and Spring Tool Suite alone?
- What the difference between Eclipse 3.7, 3.8 and 4.2?
- What is the difference between Eclipse and Netbeans if I want to use only the Java in it?
- What is the difference between Eclipse "Import" and "Create project from existing source" for Android projects?
- What is the difference between Eclipse and Myeclipse
- What is the difference between "Java Build Path" and "Deployment assembly" in Eclipse dynamic web project IDE?
- What is the difference between "Project References" and "Paths and Symbols -> References" in Eclipse CDT?
- What is the difference between building a WSDL in Eclipse and using WCF?
- what is the difference between refresh and update project in eclipse
- What is the difference between console and eclipse maven
- Eclipse Cpp - What is the difference between C Project, C/C++ Project and C++ Project?
- What is the difference between application context and workbench context in eclipse e4?
- What is the difference between Eclipse IDE for Java EE Developer and Eclipse for Mobile Developer?
- what is the difference between maven-archetype-webapp and eclipse dynamic web project
- What is the difference between local and remote SonarQube Eclipse Plugin analysis?
- What is the difference between Eclipse RCP and EMF Client Platform (ECP)?
- Eclipse - What is the difference between "ArcGIS Runtime SDK for Android" and "ArcGIS for Android Apps"?
- What is the difference between tomcat running inside eclipse and tomcat running on a server?
- What is the difference between bendpoints in JBPM 3 plugin for Eclipse and JPBM 4 plugin for Eclipse?
- What is the difference between Ctrl Alt H and f4 in eclipse
- What is the difference between Eclipse for Java and RCP?
- What is the difference between "Select Active Profiles" and "Run Configuration: profiles" in Eclipse with m2e?
- What is the difference between regular quit and eclipse terminate?
- what is the Difference between single class diagram and one class diagram per package during diagram creation in eclipse modeling juno
- What is the difference between between toggle breakpoint and disable breakpoint in Eclipse IDE?
More Query from same tag
- jar file is not updated in main project maven
- How to configure another log4j configuration file in Tomcat?
- Tomcat understands amq:broker but Eclipse marks errors in schema
- Do activities in a project get compiled into the .apk if they are not referenced in the Android Manifest .xml?
- Python Eclipse Code Analysis ignore doesn't seem to work
- Eclipse does not show Tooltip
- Quick way to insert interface methods to a class in Visual Studio 2005
- Is there any Eclipse refactoring API that I can call programmatically?
- RCP Building for mac fails using Delta Pack
- Set compiler specific settings and project build location in eclipse via cmake file
- How do I get MercurialEclipse and Bitbucket to talk to each other?
- Using Extension Points: no configurable elements found
- Birt cannot find correct font files in PDF report
- Can't install any eclipse UI themes on Ubuntu
- I put my android library project in git and now I cannot reference it anymore
- Android apps in Eclipse run error
- Is it possible to draw a line chart using birt framework?
- Java program runnin in Eclipse causes EXCEPTION_ACCESS_VIOLATION (0xc0000005)
- Tomcat is unable to read my context.xml file
- How to prevent spelling mistakes in TestNG groups?
- Eclipse: How to change the "Find/Replace" Search Highlight Colors?
- Importing project from eclipse to android studio (unresolved resources)
- Failure trying to deploy GWT on Apache Tomcat
- Trying to understand what Maven does in STS
- Relative Layout Error
- LG G2 vs980 not recognized by ADB devices command (Win7 on virtualbox)
- Spark Streaming - java.lang.NoSuchMethodError Error
- Tomcat Landing Page not comming on localhost:8080
- Spring JAR files not present in new Eclipse Spring project
- How to remove the cap on the toString() output in the debugger?