explanation of core java, j2se, j2ee

Hi all,
Can someone tell me the differences between the above 3? - examples of the different capabilities would be good too.
Thanks in advance!
no links plz.
Who is Participating?
I don't think it is as blank and white as that.

J2SE is Standard Edition - it basically gives you a compiler and a few tools to write java programs which may (or may not) involve a Graphical User Interface.  There is no such thing as Core Java - it is probably meant to represent J2SE.

J2EE is Enterprise Edition.  This builds on top of the above by providing a large and complex set of APIs to support applications running in an enterprise where there my be support needed for many simultaneous users (for example with needs for resilience and scalability).
The key thing is that an Enterprise application will typically pick and choose which of those APIs to use.  It does not have to use them all.  The Javasoft website will list what those APIs are and when they should be used.  

Another point is that it is more than acceptable to write Enterprise Applications without using J2EE at all.  Other lightweight frameworks such as Spring and Hibernate enable complex enterprise apps to be developed without using J2EE.  This pretty much means that anything you want to do can be achieved with J2SE (with some extra tools).


Well, basically, Java is divided into 3 big area - J2SE, J2EE and J2ME. J2SE is normally used to develop desktop based application using SWING and AWT. Unlike J2SE, J2EE is mainly used for developing web based application such as JSP, Servlet and etc. Lastly but not least, J2ME is used to develop mobile area.

Currently, the most famous area are J2EE and J2SE while J2ME gains its popularity.

Each of them has their own capabilities. For example, J2SE is manly used to develop desktop based application. It has the SWING and AWT libraries which are rich for GUI. While J2EE should not use SWING as it is web based application. Instead, it has other capabilities such as Servlet, JSTL and etc.

If you could tell us what confusion you have now, maybe we can help you better to understand these areas.

Mayank SAssociate Director - Product EngineeringCommented:
J2EE is for enterprise applications which will typically be deployed centrally over the Web or a network and will have multiple distributed users. J2SE is for desktop applications like chat-clients, mail-clients, etc. J2ME is for developing applications on mobile devices, PDAs, cell-phones, etc (a lot of your cell-phone games would've been developed using J2ME).
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

Mayank SAssociate Director - Product EngineeringCommented:
>> I don't think it is as blank and white as that.

What is blank and white :) ?

>> There is no such thing as Core Java - it is probably meant to represent J2SE

Yes, a common term for J2SE....



Sorry, of course I meant to say black and whine.

J2SE - Desktop Applications,
J2EE - Enterprise Application (Web, EJB Modules)
J2ME - Mobile version  of Java
> J2SE - Desktop Applications,

That is not strictly true.  You can use J2SE for enterprise applications without using J2EE at all.
Sun may recommend that you use things like EJB for enterprise logic but Spring and Hibernate are not part of J2EE and are often used for enterprise applications.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.