Monday, 24 February 2014

The Basic Java Terminology Confusion

I have often seen people confusing between basic java technologies such as JDK,JRE,JAVAFX etc.
I am trying to sort this problem out by explaining this matter in a very simple manner.


ABOUT JDK AND JRE                       


JRE: Java Runtime Environment. It is basically the Java Virtual Machine where your Java programs run on. It also includes browser plugins for Applet execution.


JDK: It's the full featured Software Development Kit for Java, including JRE, and the compilers and tools (like JavaDoc, and Java Debugger) to create and compile programs.
Usually, when you only care about running Java programs on your browser or computer you will only install JRE. It's all you need. On the other hand, if you are planning to do some Java programming, you will also need JDK.


So                             JDK=JRE+development tools
                             JRE=just virtual machine to run apps



ABOUT JAVA-SE ME FX AND EE

JavaSE = Standard Edition. 

This is the core Java programming platform. It contains all of the libraries and APIs that any Java programmer should learn (java.lang, java.io, java.math, java.net, java.util, etc...).


JavaEE = Enterprise Edition.

 From wikipedia: "The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server." In other words, if your application demands a very large scale, distributed system, then you should consider using JavaEE. Built on top of JavaSE, it provides libraries for database access (JDBC, JPA), remote method invocation (RMI), messaging (JMS), web services, XML processing, and defines standard APIs for Enterprise JavaBeans, servlets, portlets, JavaServer Pages, etc...


JavaME = Micro Edition.

This is the platform for developing applications for mobile devices and embedded systems such as set-top boxes. JavaME provides a subset of the functionality of JavaSE, but also introduces libraries specific to mobile devices. Because JavaME is based on an earlier version of JavaSE, some of the new language features introduced in Java 1.5 (eg. generics) are not available.


JavaFX

JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.



Difference between Java Applets and Servlets


Applets are downloaded to client system and executed.
Whereas servlets are executed from servers.



Note (also) that until very recently, Java SE was known as J2SE, and Java EE was known as J2EE. The situation is confused further by the fact that many people (especially recruiters) confuse J2EE with EJBs (which are only one of the technologies in Java EE).



Tips to new java users:


If you are new to Java, definitely start with JavaSE.
I would also recommend using Eclipse or NetBeans instead of Komodo IDE, since this is the most widely used editor within the industry. Because it has built in support for Java, you will benefit from all the usual advantages of using an IDE: code assist, syntax highlighting, auto compile, etc...

You can find Netbeans+JDK bundle in this link
https://netbeans.org/downloads/

To begin learning java ,I would recommend the following links:-
http://docs.oracle.com/javase/tutorial/index.html

If you want to prepare for OCJP refer this book but first match the contents with the latest syllabus.
This book is also beneficial for java learners.

SCJP Sun Certified Programmer for Java 6 Exam 310-065 By Katherine Sierra and Bert Bates

Download link below
https://java.net/downloads/jfjug/SCJP%20Sun%20Certified%20Programmer%20for%20Java%206-0071591060.pdf




Good luck!

If you have any doubts regarding java you can always comment your problems.

No comments:

Post a Comment