So Why Use Java?
The Java programming language is platform independent and can be run in a wide variety of environments. This is achieved via the Java compiler which converts a document into Java
bytecode, which is a highly optimized set of instructions designed to be executed by the Java run time system which is more commonly known as the Java Virtual Machine or
JVM for short. In essence the
JVM is an interpreter for the Java
bytecode and as such, when implemented on a platform can run any Java
bytecode on that platform. So although the implementation of the
JVM may differ from platform to platform the underlying
bytecode is always the same. This flexibility is what makes the Java language so portable.
The use of the
JVM also makes the use of Java more secure as the
JVM acts like a firewall between the application and a computer. All Java programs are under the control of the
JVM and as such the
JVM can stop adverse side effects propogating outside the system.
Concerns in early releases of Java over the speed the language runs at, because it is an interpreted language, have since subsided as the
has been streamlined and improved. The advantages of portability and security have placed Java at the top of the tree of object oriented programming languages and is why the language is used in so many diverse applications today.
Cutting through the jargon
Like any programming language Java comes with plenty of jargon, the table below gives the names of commonly used terms, their acronyms and an explanation of what they mean.
|Name||Acronym||What it Means|
|Java Development Kit||JDK||Package of tools for developing software in Java.|
|Java Runtime Environment||JRE||Package of tools for running software in Java.|
|Java Virtual Machine||JVM||Platform component for running Java programs.|
|Standard Edition||SE||Java platform for development and deployment of portable code for desktop and simple server environments.|
|Enterprise Edition||EE||Java platform for development and deployment of complex server environments.|
|Micro Edition||ME||Java platform for development and deployment of portable code for mobile phones and other small devices.|
|Update||u||Term used by Oracle for a bug fix release.|
JDKallows us to develop Java programs and includes various executables such as the Java compiler.
JDKalso includes the
JREto allow us to run the Java programs we are developing.
JREcan also be used as a standalone component for just running Java programs.
- When executed the
JREwill instantiate a
JVMfor the Java program in question to run on.
Figure 1. should make these concepts easier to understand:
Java is an object oriented programming language and computing platform that was first released by Sun Microsystems in early 1996 and has grown in popularity ever since. The Java language has gone through a lot of changes during its evolution and the table below outlines the major releases up to Java8. Just as an aside the codenames were stopped after Java 7.
|Release Name And Date||Codename||Known As||≈ Number Of Classes|
|JDK 1.0 (January 23, 1996)||Oak||Java 1||250|
|JDK 1.1 (February 19, 1997)||Java 1||500|
|J2SE 1.2 (December 8, 1998)||Playground||Java 2||1600+|
|J2SE 1.3 (May 8, 2000)||Kestrel||Java 2||1800+|
|J2SE 1.4 (February 6, 2002)||Merlin||Java 2||2700+|
|J2SE 5.0 (September 30, 2004)||Tiger||Java 5.0||3200+|
|Java SE 6 (December 11, 2006)||Mustang||Java 6||3700+|
|Java SE 7 (July 28, 2011)||Dolphin||Java 7||4000+|
|Java SE 8 (March 18, 2014)||Java 8||4200+|
The release names in the table are somewhat confusing so lets go through them. In the first two versions the
JDK stands for Java Developers Kit and these versions were knows as Java 1. With the release of J2SE 1.2, because
the changes were so large this version through J2SE 5.0 were prefixed with J2SE (Java 2 Platform, Standard Edition). The J2 denoting Java 2 and the SE to distinguish the standard edition platform from J2EE
(Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition). Things got even more confusing with the release of J2SE 5.0 which also included changes large enough that it became known as Java 5.0 even
though in reality it was version 1.5. So Java 1.5, Java 5.0 and Java 5 all refer to this release (there was never a Java 3 or Java 4). From version Java SE 6 onwards the J2 prefix and the .0 suffix were dropped and versions
were simply known as Java 6, Java 7... from then onwards and we will be using this naming convention from now on.
In our first lesson on Java we download the latest
JDK from the Oracle site and setup our environment. We then check that everything is working as it should by running a check to see if the Java compiler can be accessed from the command line.