Java is a whole platform, with a huge library, containing lots of reusable code, and an execution environment that provides services such as security, portability across operating systems, and automatic garbage collection.
Java has everything: a good language, a high-quality execution environment, and a vast library.
Java White Paper Buzzwords
- Simple: the syntax for Java is a cleaned-up version of the syntax for C++
- Object-Oriented: the object-oriented features of Java are comparable to those of C++
- Distributed
- Robust
- Secure
- Architecture-Neutral: the compiler generates an architecture-neutral object file format. The compiled code is executable on many processors, given the presence of the Java runtime system. The Java compiler does this by generating bytecode instructions which have nothing to do with a paticular computer architecture. Rather, they are designed to be both easy to interpret on any machine and easily translated into native machine code on the fly
- Portable: for everything that isn’t related to user interfaces, the Java libraries do a great job of letting you work in a platform-independent manner
- Interpreted
- High-Performance
- Multithreaded
- Dynamic
A Short History of Java
Java goes back to 1991, when a group of Sun engineers, led by Patrick Naughton and James Gosling, wanted to design a small computer language that could be used for consumer devices. The requirements for small, tight, and platform-neutral code led the team to design a portable language that generated intermediate code for a virtual machine. Gosling decided to call this language “Oak”. However, the people at Sun realized the Oak was the name of an existing computer language, so they changed the name to Java.
Sun released the first version of Java in early 1996.
The big news of the 1998 JavaOne conference was the upcoming release of Java 1.2.
Version 5.0 was the first release since version 1.1 that updated the Java language in significant ways. (The version was originally numbered 1.5, but the version number jumped to 5.0 at the 2004 JavaOne conference).
In 2014, the release of Java 8, with the most significant changes to the Java language in almost two decades.
Starting in 2018, Java versions are released every six months, to enable faster introduction of features.
Java Jargon
- JVM: Java Virtual Machine, a specification that provides a runtime environment in which Java bytecode can be executed
- JRE: Java Runtime Environment, the software for consumers to run Java programs, it is the implementation of the JVM that physically exists
- JDK: Java Development Kit, the software for programmers to write Java programs, it contains the JRE, documentation, and Java tools
- Java SE: Java Standard Edition, the Java platform for use on desktops and simple server applications
- Java EE, Java Enterprise Edition, the Java platform for complex server applications
- Java ME, Java Micro Edition, the Java platform for use on cell phones and other small devices