Java Annotated Monthly – June 2016
Java: past, present and future – we’re still counting down to the release of Java 9, there are ever more resources for getting a handle on what Java 8 can offer us, and the Oracle vs Google court case is over (for now). The language is not the only thing that continues to evolve, well-used libraries like JUnit and Log4J are making the most of modern Java. But with all this change, we need to keep an eye on performance and correctness.
Early Access build 121 is now available for JDK 9 and JDK 9 with Jigsaw. Check the documentation for using the early access builds. There’s also a matrix of open source projects that have been tested against JDK 9. And don’t forget, if you do run into any unexpected behaviour, you can ask for help.
Garbage collection is changing in Java 9, to get a heads-up on the new options, take a look at the new garbage collectors in OpenJDK.
Everyone may be getting excited about Java 9, but with Java 8 maturing and seeing good adoption, there are plenty of resources out there for getting up to speed on new features like Optional, reading pragmatic advice from those who’ve been using these features, or leveling up your Java 8 knowledge. For example, it’s worth getting to know CompletableFuture and looking at some examples to understand what you can achieve with asynchronous programming.
Even accepted standards that we’ve coded to for years can be dusted off and questioned.
Log4j 2.6 is out, with a number of configuration options to let it run in a garbage free fashion. This, combined with its support for Java 8 lambdas, can help reduce your logging framework’s impact on performance.
Twitter released a Pants build tool. I’m fairly certain that it’s not actually pants though, it’s probably rather good.
Performance and Correctness
One of the main culprits for adding unnecessary processing to our applications is the way we create Strings. Benchmarking shows how the approach we take impacts performance.
And remember, getting the best performance out of your application depends upon what “best performance” means for you.
Good testing practices, such as TDD, aren’t just applicable to plain vanilla Java. Find out more about testing Java EE (and did you know how Java EE standards are tested?), and what are some of the challenges when testing in Android.
We finally have a ruling in the Oracle vs Google case, with the court stating that Google’s use of the Java APIs in Android is “fair use”, which many see as a Good Thing and a victory for developers. Of course, we can’t just get on with our lives safe in the knowledge of a resolution, as Oracle is likely to appeal again, nor should we simply ignore the fuss, as the case is likely to have an impact on software development regardless of who ultimately wins.
Thanks for reading!
Subscribe to Blog updates
The New Terminal (Beta) Is Now in JetBrains IDEs
The new terminal (Beta) is now in JetBrains IDEs and will be available in the new UI starting from the 2024.1 version of the IDEs.
Java Annotated Monthly – February 2024
Welcome to the February edition of Java Annotated Monthly! We're excited to share this month’s collection of articles brimming with the latest Java news, including a list of the upcoming JEPs for Java 22. What’s more, you’ll also get to explore numerous informative blogs packed with Java tips and tu…
Java Annotated Monthly – January 2024
Happy New Year and welcome to the January edition of Java Annotated Monthly! As we step into 2024, we're excited to bring you the latest news and tutorials from the tech world. This issue’s highlight is the release of IntelliJ IDEA 2023.3 – a real game-changer that introduces an AI Assistant feature…
Java Annotated Monthly – December 2023
The December edition of Java Annotated Monthly is here! As usual, you’ll find all the latest Java and Kotlin updates as well as details of key industry events for networking and learning. This issue also features the latest release candidates and targeted JEPs alongside Java tutorials and articles a…