Java technology is both a programming language and a platform. Java was originally developed by James Gosling at Sun Microsystems in 1991. The first version of Java (JDK 1.0) was released on January 26, 1996.
The language was initially called Oak after an oak tree that stood outside Gosling's office. Later the project went by the name Green and was finally renamed Java (from Java coffee) in 1995, because Oak was a registered trademark of another Tech company.
Oracle Corporation acquired Sun Microsystems on January 27, 2010. And now Oracle owns Java. In 2006 Sun started to make Java available under the GNU General Public License (GPL). Oracle continues this project called OpenJDK.
|JDK 1.0||23rd Jan, 1996|
|JDK 1.1||19th Feb, 1997|
|J2SE 1.2||8th Dec, 1998|
|J2SE 1.3||8th May, 2000|
|J2SE 1.4||6th Feb, 2002|
|J2SE 5.0||30th Sep, 2004|
|Java SE 6||11th Dec, 2006|
|Java SE 7||28th Jul, 2011|
|Java SE 8||18th Mar, 2014|
Java is used almost everywhere.
All Java platforms consist of a Java Virtual Machine (VM) and an API (Application Programming Interface).
There are four platforms of Java:
As per the demand of application any one of these can be used.
Java SE is basically core Java, and this is what we will go through in this tutorial. Java SE's API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes.
The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.
The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones.
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.
If you are from C++ background, you might be wondering how Java differs from C++ because both are object oriented languages. Below table highlights major differences.
|C++ is platform dependent||Java is platform independent|
|C++ is compiled only||Java is both compiled and interpreted|
|C++ supports multiple inheritance||Java does not support multiple inheritance|
|C++ supports pointers||Java does not support pointers|
|C++ supports operator overloading||Java does not support operator overloading|
|C++ supports goto statement||Java does not support goto statement|
Above differences are one of the reasons behind Java is called simple language because it has removed complex features like pointers, operator overloading, goto etc, which makes program difficult to understand.
Java is the most popular programming language. Currently more than 3 billion devices run on Java and this figure is increasing continuously. These devices need new Java applications as well as maintenance of existing applications, Hence the world needs huge number of skilled Java programmers and it starts from you.