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
Thanks, we've got you!
JPA and React Plugins: From Buddies To Full Members of The JetBrains Family
We are excited to announce that JPA Buddy and React Buddy have joined the JetBrains family. Positioned as powerful plugins for working with JPA data and React applications, respectively, they will offer even more functionality for IntelliJ IDEA and WebStorm developers moving forward. With this ac…
Java Annotated Monthly – September 2023
The September edition of Java Annotated Monthly is here! With this month’s release of Java 21 approaching, we're excited to bring you a final sneak peek into its crucial features. But that's not all! This edition is packed with helpful articles about cutting-edge AI technologies, including update…
Java Annotated Monthly – August 2023
The August edition of Java Annotated Monthly is here! As usual, we’ve selected a collection of fascinating articles covering the latest Java-related news, tech updates, AI and machine learning innovations, and more. We're thrilled to share the exciting news of the recent release of IntelliJ IDEA 202…