The standard that describes how a properly functioning JVM must behave is called
the JVM Specification.
What Is the Java Ecosystem?
The Java language is easy to learn and contains relatively few abstractions, com‐
pared to other programming languages. The JVM provides a solid, portable, high-
performance base for Java (or other languages) to execute on. Taken together, these
two connected technologies provide a foundation that businesses can feel confident
about when choosing where to base their development efforts.
The benefits of Java do not end there, however. Since Java's inception, an extremely
large ecosystem of third-party libraries and components has grown up. This means
that a development team can benefit hugely from the existence of connectors and
drivers for practically every technology imaginable—both proprietary and open
In the modern technology ecosystem it is now rare indeed to find a technology
component that does not offer a Java connector. From traditional relational databa‐
ses, to NoSQL, to every type of enterprise monitoring system, to messaging systems
—everything integrates with Java.
It is this fact that has been a major driver of adoption of Java technologies by enter‐
prises and larger companies. Development teams have been able to unlock their
potential by making use of preexisting libraries and components. This has promo‐
ted developer choice and encouraged open, best-of-breed architectures with Java
A Brief History of Java and the JVM
Java 1.0 (1996)
This was the first public version of Java. It contained just 212 classes organized
in eight packages. The Java platform has always had an emphasis on backward
compatibility, and code written with Java 1.0 will still run today on Java 8
without modification or recompilation.
Java 1.1 (1997)
This release of Java more than doubled the size of the Java platform. This
release introduced “inner classes” and the first version of the Reflection API.
Java 1.2 (1998)
This was a very significant release of Java; it tripled the size of the Java plat‐
form. This release marked the first appearance of the Java Collections API
(with sets, maps, and lists). The many new features in the 1.2 release led Sun to
rebrand the platform as “the Java 2 Platform.” The term “Java 2” was simply a
trademark, however, and not an actual version number for the release.