IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – April 2019
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 News
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
It’s arrived, @Java 12 is now available! Download and read all about it!https://t.co/afvH2V2PMn#JDK #JDK12 #OpenJDK #Java pic.twitter.com/y1ETwwW5oH
— Sharat (@Sharat_Chander) March 19, 2019
- 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 a 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 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 & Tips
As expected, a chunk of tutorials and guides to Java 12 features. There’s 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
-
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 favourite 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 misconcenptions in this area
-
A gentle introduction to multithreading – it’s still a topic that causes a lot of confusion
-
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
-
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 microservices post
-
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
Culture & 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 summarising 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. One of my favourite 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 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 colour
-
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…
Events
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
And Finally
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://t.co/gBqCSUHBck pic.twitter.com/a81Q3iMRxl
— IntelliJ IDEA (@intellijidea) March 27, 2019
- 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.