Java Annotated Monthly — April 2019
Java Annotated Monthly — April 2019
Check out everything going on in Java over the past month.
Join the DZone community and get the full member experience.Join For Free
March was a big month! A new release of Java and a new release of IntelliJ IDEA. It was also a huge month for news, tutorials, articles, and so on, I didn’t have to do any searching for new articles — I picked up so many great ones just from being part of the community.
Java 12 came out! Wow, Java’s Annotated Monthly is getting easy (boring?) to write, two issues every year are about a new Java release
- The arrival of Java 12! – contains a list of the features that were implemented
- Java 12 Released with Experimental Switch Expressions and Shenandoah GC
- Keep an eye out for an announcement very soon about an IntelliJ IDEA webinar on Java 12 featuring me (Trisha Gee) and Mala Gupta.
- JavaFX 12 is also out now!
- Proposed schedule for JDK 13 – Java 12 is already old news, when’s Java 13 out? And yes, you can already download JDK 13 Early-Access Builds.
- ‘Java 9, it did break some things,’ Oracle bod admits to devs still clinging to version 8 – now is the time to look at upgrading to Java 11, or even 12, but developers are still worried about migrating past the barrier of 9.
- OpenJDK Life Cycle and Support Policy – understand OpenJDK life cycles and Red Hat’s support for OpenJDK.
- Alibaba dragonwell8 OpenJDK – because what we need is yet another OpenJDK build to choose from.
- Panel: Java Is Still Free? – answering some of the confusion around the new licensing and update policy from Oracle. Red Hat and Azul are also on this panel.
- Java Learning Topics 2018 – we polled over 1,500 Java developers to identify their learning patterns and preferences.
- 2018 JCP Election Results Introduces BNY Mellon as a First-Time Member – …and JetBrains is also re-elected.
- An Update on JetBrains and the Java Community Process – seemed like a good time for me to write something on the same topic.
- Exclusive Q&A – James Gosling – “godfather” of Java. Makes him sound scarier than I’m sure he really is.
- SAP Open Sources Java SCA Tool – the first of many security-related links in this newsletter.
Java Tutorials and Tips
As expected, a chunk of tutorials and guides to Java 12 features. There are also a few deep dives into the JVM itself, along with some more general guides.
- Java 12 and IntelliJ IDEA – screencast by my awesome new colleague Mala Gupta, explaining new features in Java 12 and how to use them in IntelliJ IDEA.
- Definitive Guide to Java 12 – I have used Nicolai’s blog posts extensively in the past for understanding Java 9 functionality (in particular). Highly recommended.
- What’s new in Java 12? – Marco always does great videos demonstrating things in IntelliJ IDEA.
- Java 12 String API Updates – it’s not commonly known that the latest version of Java has a bunch of updates to the String API. You may find some of these methods useful.
- JDK 12 Security Enhancements – being aware of security issues is becoming increasingly important for developers.
- Azul Webinar: What’s New in JDK 12 (video) — check it out!
- Java 12: Teeing Collector – a new streams collector!
- Set up JDK Mission Control with Red Hat Build of OpenJDK – mission control and other previously-commercial tools have been contributed to OpenJDK by Oracle, so now, they should be available in all JDKs from all the vendors who produce OpenJDK builds.
- Performance After Eight (video) – how do recent versions of Java (9, 10, 11, 12) perform compared to 8?
- JVM Anatomy Quark #24: Object Alignment – more deep-dive JVM detail.
- Does Inlined Mean Streamlined? Part 1: Escape Analysis – with benchmark results.
- Memory footprint of the JVM – we need to understand how the JVM uses memory if we want to understand details of our cloud deployments.
- Property-based Testing in Java: Introduction – a blog series on a different approach to automated testing.
- Low-Latency Java: Part 1 — Introduction – low-latency programming may seem intimidating to those of us who haven’t worked in that sort of environment before, but it’s like anything else, a good introduction demystifies it.
- Java Practices->Avoid @throws in javadoc – I came across this topic when I found a weird “smell” of code that imports an Exception only to use the class in the javadoc.
- Javadoc all exceptions – …and, of course, the opposite view, too.
- Introduction to Test Driven Development (TDD) – TDD is my favorite way to work. This an intro to the practice and a tutorial to work through.
- Immutable data structures in Java – clearing up some of the misconceptions in this area.
- My Experience taking the new Java SE 11 Programmer I 1Z0-815 Exam!
- A gentle introduction to multithreading – it’s still a topic that causes a lot of confusion, so go learn more!
- IntelliJ Wizardry with Heinz Kabutz – I love it when other people do videos about IntelliJ IDEA — it means I don’t have to.
Languages, Frameworks, Libraries, and Technologies
This month includes quite a bit of Kotlin, some Spring, some Android, and a bunch of architectural concerns.
- Kotlin: Write Once, Run (Actually) Everywhere
- Configuration as Code, Part 1: Getting Started with Kotlin DSL – a series from Anton Arhipov, our TeamCity developer advocate.
- Configuration as Code, Part 2: Working with Kotlin Scripts
- Configuration as Code, Part 3: Creating Build Configurations Dynamically
- Migrating from Lombok to Kotlin – interestingly, I hear from a lot of developers that, with Lombok and Java 11/12, they don’t need to migrate to Kotlin.
- The Open-Closed Principle at an Architectural Level – SOLID principles don’t just apply at the class level.
- How are your microservices talking? – I struggled with this topic when I first tried to work with microservices.
- The Data Dichotomy: Rethinking the Way We Treat Data and Services – another great microservices post!
- Towards Language Support for Distributed Systems (video)
- Rod Johnson Chats about the Spring Framework Early Days, Languages Post-Java, & Rethinking CI/CD (podcast)
- Angular 7 + Spring Boot Application Hello World Example – tutorials in this area are extremely useful, and this particular stack is one I’ve used in the past and struggled to get working.
- Android: Using Physics-based Animations in Custom Views (SpringAnimation) – I don’t post much Android stuff these days but I really liked this detailed article.
- Material Design in 60 seconds!
Culture and Community
A huge list of “other” articles I came across that I found very interesting.
- Why Taking Breaks Is The Key To Productivity – sounds counter-intuitive, but it really can work to step away from the computer.
- How to Give Your Brain A Break Without Booking Vacation Days – good advice, but honestly wouldn’t it be better if our employers just gave us more vacation time?
- How to Build a Daily Habit Tracker in Trello (And Reach Those Goals!) – this looks extremely useful, but a little exhausting.
- Five Reasons Why Scrum Fails in Software Development – TL;DR: you’re doing it wrong.
- Lessons from 6 software rewrite stories – a fascinating article, a long read, and well worth it if we don’t want to repeat past failures.
- How soft skills can skyrocket your software development career – oh look! An article summarizing a talk I gave! This must be excellent advice.
- How Diversity and Inclusion can improve testing – we know diversity is a Good Thing by now, right?
- Introducing Season of Docs – documentation is just as important as code. It must be if Google is supporting an initiative like this
- Why can’t we build secure software (video) – I have not yet had a chance to see this but I really really want to.
- The Central Security Project: Vulnerability Reporting for Open Source Java – security is a big topic this month. In fact, it’s a big trend this year.
- Defining a Distinguished Engineer – or, traits that really make you an experienced techy. This is one of my favorite articles this month.
- Thoughts on Conway’s Law and the software stack – also from Jessie Frazelle, the author of the post above.
- Simplicity, Please – A Manifesto for Software Development — we know that simpler code is better; you might be able to wave this article at management to persuade them to invest time in refactoring/tech debt.
- Choose Simple Solutions Over Flexible Ones – on a similar topic to the above, remember probably YAGNI.
- How to quickly and effectively read other people’s code – reading code is as much (more) of a skill than writing it. Also, I love the reference to Kathy Sierra’s fantastic book.
- Four Ways Chatbots Make Your Office Life Easier – I really need one that can book my flights and hotels for me (it’s a hard life being a developer advocate).
- Ctrl-Alt-Delete: The Planned Obsolescence of Old Coders – discrimination doesn’t just work on gender or color.
- Why You Should Work Remotely as a Developer in 2019 – I don’t think it’s us developers who need to be sold on this…
I’m not sure how useful it is to advertise our events here. If you find it useful, let me know.
- April 9-11: Google Next SF
- April 13: JetBrains Night Moscow – I’ll be there! My first time in Russia.
- April 29-May 2: DockerCon USA
Here’s a chance to catch up on the IntelliJ IDEA and other JetBrains news that you might have missed:
- IntelliJ IDEA 2019.1 released! Another huge release, it is almost impossible to list all the new and updated features. The 2019.1.1 preview is already out too.
Please give a warm welcome to IntelliJ IDEA 2019.1! Theme Customization, Java 12 Switch Expressions (Preview), Debug inside Docker container, and much more! https://www.jetbrains.com/idea/specials/idea/whatsnew.html …930
- New screencast: Introduction to IntelliJ IDEA’s Version Control support using Git.
- Catching Vulnerabilities Instantly in Your IntelliJ IDEA Environment – told you security is a big topic at the moment. And keep your eyes open because we’re going to be running a webinar on this topic soon too.
- An Update on JetBrains and the Java Community Process – yes, I have posted this twice. Just in case you missed it the first time.
- We haven’t announced it officially yet, but we will be hosting a webinar on Java 12 very soon. Keep an eye on the blog!
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.