Java Annotated Monthly — December 2019
Here's the last Java Annotated Monthly of 2019, and this decade... enjoy!
Join the DZone community and get the full member experience.Join For Free
Many of us are winding down for the end of the year. Or, more likely, desperately trying to hit deadlines before vacations, public holidays, or school breaks. This month's Java Annotated Monthly is not too full to take away from your busy schedules and designed (as usual) for you to skim over the topics and dive into just the ones that interest you. Good luck with the tail end of 2019!
- Project Loom: Helping Write Concurrent Applications on the Java Platform (video) — here's an overview of lightweight threads in Java (not yet available).
- New Java group proposed for IDE & tooling support – for OpenJDK, this group has been created.
- JEP 305: Pattern Matching for instanceof (Preview) – due in Java 14. No more nasty casting after an
- JEP 359: Records (Preview) – “Records are a new kind of type declaration in the Java language. Like an enum, a record is a restricted form of class.” Also due in Java 14.
- Records feedback – here's comprehensive feedback from Stephen Colebourne on the proposal for records.
- JDK 14 Early-Access Release Notes – speaking of Java 14, here are the current release notes.
- The State of Java in 2019 – here are survey results on Java versions, frameworks, tools, etc.
- Why We Hate Java Serialization And What We’re Doing About It (video)
- The Java Community Process Election Results
- Celebrating 20 Years of Java Community Collaboration – this includes an overview of what the Java Community Process is and how it works.
- Low Latency Profiling Now Available in Java 8 – Java Flight Recorder has been backported to Java 8 OpenJDK.
Java Tutorials & Tips
- Design gotchas in JDK’s functional interfaces – this is not a recent article, but I stumbled over it and thought it was interesting to understand some of these subtleties.
- Java Feature Spotlight: Local Variable Type Inference – here's a thorough look at “var”, what it is, how it works, and when to use it.
- A guide to Java versions and features – this is a comprehensive guide to the current status of Java versions, JDK versions and features from Java 8 onwards.
- Reasons to move to Java 11 – including new tools and performance improvements
- Name the Date – this is a great piece from the ever-entertaining Kevlin Henney on why naming is important.
- Java’s Unspeakable Types – when is a type not a type?
- 2048FX – a JavaFX version of the game 2048
- Understanding Garbage Collectors – an overview of GC and how some specific garbage collectors work from December’s Java Magazine.
Languages, Frameworks, Libraries, and Technologies
- Hello Kotlin – here's yet another introduction to Kotlin!
- Stop Mapping Stuff in Your Middleware. Use SQL’s XML or JSON Operators Instead – it is possible to use SQL to get your data into the right shape before it gets to your application.
- What I learned about Quarkus in two months – in case you need a quick overview of Quarkus and more, you can read one article a day in December on the JVM Advent Calendar!
- Adopting a Cross-Platform Strategy for Mobile Apps using Kotlin multiplatform — check it out!
- A Deep Dive into the KotlinVersion Class
- Writing Your First IntelliJ IDE Plugin with Kotlin
- Introducing Kotlin at ING, a long but rewarding story – a case study of how a bank adopted Kotlin.
- Announcing Cloud Debugging (beta) for JetBrains IDEs – this is a new feature for the AWS plugin. In related news, the AWS Toolkit is now available for Rider (.NET).
- Get started with the new Kotlin Azure Functions Archetype and IntelliJ IDEA
- Running Your Jupyter Notebooks on the Cloud – Java-based Jupyter notebooks via Oracle Cloud Infrastructure.
Culture & Community
- Breaking the “senior developer” ceiling – “Optimize your impact, not output.” This post is really interesting, but if the company can’t understand/measure your impact and only measures your output, this might not help you.
- Training Engineering Managers: This Is The Way to Keep Growing – you can’t simply promote developers to management positions and expect them to succeed.
- Coding the Future Coders – a reminder that how we market ourselves has a big impact on the type of people we encourage into the industry
- Creating Psychological Safety in the Workplace (podcast with transcript) – really interesting discussion about why psychological safety is important
- Dave Farley on Taking Back Software Engineering (podcast with summary) – including “five foundational principles for software engineering that will be durable, broadly applicable and broadly acceptable”
- What to Wear on Stage – tips for speakers, particularly applicable to women but plenty in there to consider if you don’t identify as female. I’ve also covered this topic.
- The Cloud-Native Diabolical Developer by Martijn Verburg (video) – a very tongue-in-cheek presentation about What To Worry About As A Developer.
- Use Testing to Develop Better Software Faster – testing is good not only because, you know, it tests things, but also because it helps us reason about our software.
- Good and Bad Technical Debt (and how TDD helps) – an older article, but a good view on technical debt.
- To fix Climate Change, stop being a techie and start being a human – is there something we, as techies, can do about climate change?
- The 7 Types Of Power That Shape The Workplace
- Reflections on One Year in as a Developer Advocate; Advocating for Developers – if you’re interested in what developer advocates do, this is an interesting post!
- Book Report: Developer Advocate! – while we’re on the topic, there’s a new book out interviewing developer advocates (Disclaimer: I am featured in this book)
A chance to catch up on the other IntelliJ IDEA blog posts from this month.
- IntelliJ IDEA 2019.3 was released! If video summaries are more your thing, check out the video of improvements for Java Developers.
- My Spring Boot tutorial is still ongoing! We’re up to lesson seven. See all lessons here.
- Java 13 in IntelliJ IDEA (video) – get an overview of the features in Java 13 and see how IntelliJ IDEA can help you to use them
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.
Published at DZone with permission of Trisha Gee, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.