explanation of core java, j2se, j2ee

Posted on 2006-06-06
Last Modified: 2013-11-24
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.
Question by:teachmejava
    LVL 16

    Assisted Solution


    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.

    LVL 30

    Expert Comment

    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).
    LVL 4

    Accepted Solution

    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).

    LVL 30

    Expert Comment

    >> 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....
    LVL 4

    Expert Comment

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

    LVL 2

    Expert Comment

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

    Expert Comment

    > 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.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Free Trending Threat Insights Every Day

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    Suggested Solutions

    Title # Comments Views Activity
    fix34  challenge 9 70
    squareUp  challenge 22 81
    userCompare  challenge 3 54
    array6 challenfge 6 48
    Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues undeā€¦
    Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilationā€¦
    This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
    This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now