Changes for installing-java.md: 4 added lines, 2 removed lines.
Original line number
Diff line number
Diff line
# Installing Java
If you don’t already have a Java™ Platform, Standard Edition Development Kit (JDK), you need it. The book assumes you're using Java 11 (apart from Appendix B, which requires Java 17). If you happen to be using Java 8, most of the examples will still work. If you don't know which version of Java to use, we recommend using Java 17, the current "long term support" release.
If you don’t already have a Java™ Platform, Standard Edition Development Kit (JDK), you need it. The book assumes you're using Java 11 (apart from Appendix B, which requires Java 17). If you happen to be using Java 8, most of the examples will still work. If you don't know which version of Java to use, we recommend using Java 17, the current "long term support" release (see the note at the end if you want to understand why we're talking about these three versions specifically).
There are free builds of [OpenJDK](https://openjdk.java.net/) (the reference implementation of Java) available from a number of vendors, [summarised here](https://medium.com/@javachampions/java-is-still-free-3-0-0-ocrt-2021-bca75c88d23b#04b1). To simplify things we have picked two:
-[Eclipse Adoptium](https://adoptium.net/): Free community-provided OpenJDK builds. You can download and install Java 8, 11 or 17, and whatever the latest version of Java happens to be, for your operating system.
@@ -26,4 +26,6 @@ Note: if you have trouble with your installation, we recommend you go to [javara
### A note on version numbers
The version numbers have varied a lot over the last 25+ years! Obviously we started with Java 1.0, and then came 1.1, 1.2, 1.3 and 1.4. For stunningly unclear marketing reasons, shortly before release, Sun renamed Java 1.5 to Java 5, even though technically it's still only Java 1.5. Same for 6 (1.6), 7 (1.7) and 8 (1.8).
In theory, Java is still on version 1.x because new versions are backwards compatible, all the way back to 1.0. However, it was a bit confusing having a version number that was different to the name everyone used, so the official version number from Java 9 onwards is just the number, without the "1" prefix - i.e. Java 9 really is version 9, not version 1.9.
No newline at end of file
In theory, Java is still on version 1.x because new versions are backwards compatible, all the way back to 1.0. However, it was a bit confusing having a version number that was different to the name everyone used, so the official version number from Java 9 onwards is just the number, without the "1" prefix - i.e. Java 9 really is version 9, not version 1.9. We've also been getting a new release every 6 months since Java 9 (instead of every 3 years or so), so the numbers have accelerated!
With two releases a year, not all organisations want to upgrade to every new release, and certainly the vendors don't want to support tens of releases at a time, so now there's a concept of a [Long Term Support release](https://www.oracle.com/java/technologies/java-se-support-roadmap.html) (this is an Oracle concept, but many other vendors have also adopted it). These are (currently) a release every three years. Java 8 was a Long Term Support (LTS) release, Java 11 was the next, and Java 17 is the current LTS. That's why we're usually only talking about these three versions when we talk about which version you might want to use. You can use any of the versions of Java in between, but to make things easier we generally talk about the Long Term Support version.