10

This question already has an answer here:

I have some experience in programming in Java but wondering if someone could explain what is the difference between Enterprise Java vs Core Java?

Someone asked me a question on whether I use core-Java or Enterprise Java. Now I have to ask is there such thing as core-java?

marked as duplicate by Bill the Lizard, Dynamic, GlenH7, gnat, Jalayn Jun 26 '13 at 12:45

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Are you talking about JavaEE vs. JavaSE? – Philipp Jun 25 '13 at 12:27
  • 7
  • @Philipp - Nope. Someone asked me a question on whether I use core-Java or Enterprise Java. Now I have to ask is there such thing as core-java? – kapricanon Jun 25 '13 at 12:32
  • Whoever downvoted this question can you please read the question first? It was not related to different type of Java. My original confusion was is there something called Core Java? – kapricanon Jun 25 '13 at 16:21
13

Core Java is not an official name in Java platform (it is the name of a book); also Enterprise Java is not an official name.

However these two terms tend to refer to two distinct parts of Java:

  1. Core Java usually refers to Java SE which consists of the Java Language, the JVM and JDK (which itself contains the compiler some tools and a pretty large library). Core Java is used for general purpose programming and almost anything written in Java is based on the Core Java.

  2. Enterprise Java refers to Java applications written for enterprises; the leading technology here is Java EE which consists of a set of APIs (EJB, JMS, JPA, JTA, JSF etc.) and the application servers (Glassfish, Tomcat, JBoss/WildFly etc.) which implement these APIs (or a part of them). But Enterprise Java is not strictly restricted to Java EE; someone using Spring Framework for example is still an Enterprise Java programmer.

2

What you are calling Core Java is actually known as Java Standard Edition (SE) and the Enterprise Java is Java Enterprise Edition (EE).

Java SE is the base Java API that makes up 99.9% of the Java functionality that you know and love, that is, unless you're an enterprise developer creating java apps for large scale applications (think server farms).

Java EE is the API built on top of the SE API to provide the tools necessary to do large scale projects more easily.

Long story short, you probably want to be using the SE edition.

  • @Ampt- So does working on web application that involves Servlets, JSPs... mean I am using JEE technology? Can you give some more examples of JEE please? – kapricanon Jun 25 '13 at 12:38
  • @kapricanon my rule of thumb is that if you have to ask if you're using javaee, you aren't. That said, if you are using anything in this list then you are using java EE. It's pretty hard to use it without knowing that you are, so I would guess no, but without knowing more its hard to say. – Ampt Jun 25 '13 at 12:42
  • Why the downvote? Anyone care to explain? – Ampt Jun 25 '13 at 19:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.