Java Overview

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.

  • Java is a high-level object-oriented language. It's also a platform because Java has it's own runtime environment (JRE) and development tools.
  • Java is simple, secure and robust programming language.
  • Java is portable and platform independent that means Write Once, Run Anywhere (WORA).
  • Current stable version of Java is Java SE 8 or Java 8.

Evolution of Java

Release Date
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

Application of Java

Java is used almost everywhere.

  1. Android Apps
  2. Java Web Applications
  3. Software Tools
  4. Embeded System
  5. Scientific Applications
  6. Trading Applications
  7. Enterprise Application in financial domain, etc.

Java Platforms

All Java platforms consist of a Java Virtual Machine (VM) and an API (Application Programming Interface).

There are four platforms of Java:

  • Java Standard Edition (JAVA SE)
  • Java Enterprise Edition (Java EE)
  • Java Micro Edition (Java ME)
  • JavaFX

As per the demand of application any one of these can be used.

1. Java SE

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.

2. Java EE

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.

3. Java ME

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.

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

Difference between C++ and Java

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

Scope of Java Technology

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.