Even though I have been writing Java Applications since 2002 I don’t think I’ve ever dived so deeply into the JVM as I did while writing this book. Most companies I’ve worked for had their own code base when I joined them, and my work was mostly related to designing,
improving or maintaining one that already existed. It’s like making brownies when you already have brownie mix. Writing this book has given me the opportunity to get down to basics and work with basic ingredients—so, making brownies using eggs, flower, cocoa, milk, and butter.
Java began in 1982 and was created by a handful of people. The most renowned name linked to the beginning of Java is James Gosling, also known as the father of Java, the language that is now used on over three billion devices.
When Oracle bought Sun Microsystems, developers were worried about Java’s future, especially since its main creator quit the company and went on to create what was thought to be Java’s replacement: Scala. That will probably never happen.
Java is still here. Most banking applications are written in Java and because it is definitely dangerous and costly to migrate these applications, Java will be here in 50 years, if not more.
Java began by making websites more dynamic and more entertaining, and ended up being the basis for applications run on ATMs, cashier machines, computers, and mobile devices. Sure, this would have been more difficult if Java wasn’t cross-platform.
The first Java version was officially released in 1996. Since then, ten more versions have been released, with the latest one, Java 11, being released on 25th September 2018. The work on Java 12 has already begun and the early access build is already available.
This book was written with the intention to cover the fundamental elements of the language and of the JVM, especially the ones introduced in versions 9, 10, and 11.
The book provides a complete overview of the most important Java classes in the JVM, all wrapped up in a multimodule project that compiles with Java 11 and Gradle 5.