Java Annotated Monthly – December 2018
Happy winter/summer solstice and any associated festivals and holidays you may or may not celebrate! This month’s annotated contains a mix of news and talks from the various autumn conferences, and some light reading to tide you over until the new year.
A lot of the news in this section came from Devoxx Belgium, which seems to be the place to announce things after Oracle Code One, or re-iterate messages from that conference. All the talks from Devoxx were streamed and recorded – see the Tweet below for more details of just some of the presentations.
- Java Magazine: Understanding Oracle JDK Releases in Transition – a good overview of the license changes in Java 11, and the differences between the Oracle JDK and OpenJDK (by Oracle)
- Java Magazine: What’s new in JDK 11
- Java in 2018: Change is the Only Constant by Mark Reinhold (video) – I saw this live at Devoxx, it’s a good overview of the state of Java right now.
- Java Futures, Devoxx 2018 Edition BY Brian Goetz (video) – I haven’t had a chance to watch this talk fully yet but I want to. It covers some of the features we can look forward to in future releases of Java.
- Amazon Release Corretto: A Multiplatform Java OpenJDK Build with No-Cost Support – announced at Devoxx, another option if you like your JDKs free.
- Next: Streamlining the JCP Program – the Java Community Process continues to evolve, which is particularly important with the faster release cadence of Java and with Java EE becoming Jakarta EE.
— Sharat (@Sharat_Chander) November 20, 2018
Java Tutorials & Tips
This month’s tips and tutorials are a mix of classic Java, up-and-coming-not-released-yet Java, and newish stuff you should probably be using soon. For daily tips during December (up until Christmas), see the annual Java Advent Calendar.
- Amazon Corretto: Another OpenJDK – with steps on how to get started with it.
- Java Magazine: Value Types are Coming to the JVM – what are value types and why should we care?
- Game of Life Lessons: Static Smells – suggests that static methods are a smell. While they are in the context of this article, it’s worth remembering that in the new functional-friendly post-Java-8 world static methods have their own place.
- How to Use Java HashMap Effectively – the introductory stuff is too basic for most of you, but the info about some of the methods added in Java 8 is useful to know.
- Var with Style: Local Variable Type Inference in Java 10 – there’s a lot of confusion about when to use var and what it’s good for. Stuart Marks is a good person to help clear up these questions.
- JUnit5 Assertion Migration Strategy – really liked this practical article on how to move from JUnit 4 to JUnit 5. Also don’t forget IntelliJ IDEA can help you migrate from JUnit 4 to 5.
- Comprehensive Step-By-Step Guide on How to Upload Open-Source Java Library to Maven Central – if you’ve never developed a library used by others, you probably won’t realize this can be a non-trivial task.
- How to handle checked exception in lambda expression- Part 1 – checked exceptions are a bit nasty in lambda expressions, so here’s one way to deal with that.
- 26 Reasons Why Using Optional Correctly Is Not Optional – some tips on how to use Optional, useful for seeing some of the newer methods introduced since Java 8.
- How to Solve Your Java Performance Problems (Part 1) – or: having a methodical approach is more likely to lead to success than stabbing wildly in the dark.
- Shortest Code and Lowest Latency – another interesting read if performance is your thing.
- Give Me a break, or: How to Make Awesome Puzzlers with Java 12 – switch expressions are a preview feature in Java 12, get a heads-up on what they look like now.
Languages, Frameworks and Libraries
Micro is all the rage these days.
- Is Boilerplate Code Really So Bad? – my talk from Oracle Code One, an overview of Kotlin plus some of the newer features in Java.
- Finding Symmetry – overview of the API of Eclipse collections, a useful and fast set of collections for the JVM.
- MicroProfile, the microservice programming model made for Istio – tutorial for using MicroProfile with Istio (ooh look, cloud and microservices together, buzzword bingo).
- Micronaut Tutorial: How to Build Microservices with this JVM-based Framework – if it’s got “micro” in the title, it’s probably Important To Learn.
- Micronaut Tutorial: Part 2: Easy Distributed Tracing, JWT Security and AWS Lambda Deployment
- Serverless, Java and FN Project, first steps – tutorial for getting started with FN Project, something I keep telling myself I’ll look into one day.
Culture & Community
Other interesting articles that aren’t specifically Java-related.
- We Propose the Emerging Technology Analysis Canvas (ETAC) – in other words: let’s have a consistent way to evaluate technology before we jump in and use it.
- Yak shaving and fixing – or: if you enjoy it, it’s a Good Thing to take the time to fix stuff that annoys you.
- Why giving back is important to the DevOps culture – remember DevOps is not just a list of tools, but a culture.
- Eclipse Foundation Survey 2018 – complete this to give the Eclipse foundation a view into how you and your organization sees open source.
Here’s a chance to catch up on the IntelliJ IDEA and other JetBrains news that you might have missed:
- IntelliJ IDEA 2018.3 and 2018.3.1 were released!
- Take a look at our What’s New in IntelliJ IDEA screencasts.
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop me a message via Twitter.