Upgrading Java from 8 to 12
Since Java 8 a number of useful new language features have been introduced, along with new tooling, and performance improvements particularly for garbage collection. When choosing to upgrade the choice you face is whether to upgrade to the latest version of Java (12) and be prepared to upgrade every six months; or upgrade to the latest LTS (11) to give yourself up to three years to think about your next upgrade. Don’t be tempted to ignore compiler warnings. Deprecation is being taken much more seriously in this modern Java world, and both Java 10 and Java 11 removed APIs. One of the changes from Java 9 was that internal APIs (largely those classes in packages that started with sun.misc.*) were hidden from use. APIs that are not core to the JDK have also been removed in Java 11. These changes may impact your application but there is a clear path to avoid these problems. Once “over the hump” of this first upgrade, it’s worth at least testing the application on the latest version of Java every 6 months, for example in CI