The Java Language

Java was developed by Sun Microsystems in 1991. The team at Sun Microsystems was led by James Gosling. Gosling, who is often referred to as “Dr. Java,” is a Canadian computer scientist who is best known for being the founder of Java. Java was initially called Oak and only became Java in 1995 with its first public implementation. In 2010 Sun Microsystems was bought by Oracle. The main draw to Java was the “Write once, run anywhere” promise. Java is a fully-featured programming language that is used to develop applications in many environments such as web applications, mobile phones, robotics, desktop software, and servers. Java currently runs on billions of different devices worldwide, and some devices are not even on this planet anymore. Most of us use Java every day without even knowing it. If you have an Android phone, you are using Java. Software for Android devices is developed using Java.

Java can be broken up into 5 major sections:

  1. Java Language Specification

  2. Java API

  3. Java JDK

  4. Java JRE

  5. Java JVM

Java Language Specification

The Java Language Specification is a technical definition of the Java programming language. This includes the syntax and semantics. The constantly updated and current specification can be found on Oracles website here.

Java API

The Java API (application program interface) is the library that contains all the predefined classes and interfaces required for creating a Java program. The Java API is grows every release of a new Java version. The most to date and current version can be found on Orcales website here.

Java JDK

The Java JDK (Java Development Toolkit) contains all the tools needed for Java development. This would include the JRE, an interpreter, a compiler, an archiver, and other tools such as the document generator. The JDK can be downloaded from Oracles website here.

Java JRE

The Java JRE (Java Runtime Environment) takes the Java code and starts the JVM. The JRE is essentially the minimal requirements for deploying a Java program.

Java JVM

The Java JVM (Java Virtual Machine) reads the Java program bytecode and executes it. For any device to run Java a JVM is required on that device. The main benefit of the JVM is that it allows any Java code to be deployed.