Java Annotated Monthly – July 2020
I’m finishing off this newsletter while also hosting the JetBrains Technology Day for Java, so this newsletter is sadly too late for you to join the live stream! But, you’re in luck, because the videos will be available to view on YouTube by the end of the month. However, just because we were busy with this event doesn’t mean the rest of the world stopped. You can find a summary of the interesting Java, JVM and community news here in your July Java Annotated Monthly.
Some general Java and Java-related news
- The top 25 greatest Java apps ever written – including one of our favourite tools
- AdoptOpenJDK 11 Is the New Default – if you’re downloading from AdoptOpenJDK 11 is default now instead of 8
- AdoptOpenJDK to join the Eclipse Foundation – important news. Also covered in InfoQ
- Background: how we got the generics we have – this is going to be another of those pieces from Brian I go back to again and again to answer questions about why Java is the way it is
- The InfoQ eMag – Innovations That Are on Their Way – including an article on “Proposed Hyphenated Keywords in Java”
- Oracle Open Source Coherence In-Memory Data Grid
- RedHat Mandrel Makes Java Native
- Jakarta EE 9 – Milestone 1 Released by Eclipse Foundation
Local Static Interfaces and Enum Classes – and Records, coming to Java 15
Just looked at local records in Java 15 and they blew my mind! I can see these being so useful!
— Trisha Gee (@trisha_gee) July 3, 2020
Java Tutorials & Tips
- Java Feature Spotlight: Sealed Classes – also just so you know, Java 15 features like Sealed classes are supported in IntelliJ IDEA 2020.2
- Jeanne Boyarsky’s review of 97 Things Every Java Programmer Should Know – regular readers should know that I am a co-editor of this book, so it’s entirely self-serving to add a link to a good review of it
- 12 recipes for using the Optional class as it’s meant to be used
- Detailed NullPointerException messages with JDK 14 – I liked this in Java 14, I didn’t realise it needed to be enabled. But apparently in Java 15 it’s there by default, yay!
Languages, Frameworks, Libraries and Technologies
- Understanding Apache Maven – Part 4 – Maven Lifecycle
- LJC Virtual Meetup: What I Wish I Knew About Maven Years Ago (video)
- Easily rename your Git default branch from master to main
- JUnit 5 – Parameterized Tests – I’m still working on a series of videos for JUnit 5, and this was a very valuable resource
- JUnit 4 vs Jupiter – a high-level concept & API comparison – again, related to my JUnit 5 research
- What’s New In Selenium 4?
- Migrating Spring Boot’s Build to Gradle – why, how and was it successful?
- IntelliJ IDEA debugging best practices – covers the main debugging features in IntelliJ IDEA (not written by us!). We also have a debugging tutorial
- Building Class Data Sharing Archives with Apache Maven
- Automated Acceptance Testing With Robot Framework
- Quarkus 1.5 Features New Extensions and fast-jar Packaging
- Project Helidon Tutorial: Building Microservices with Oracle’s Lightweight Java Framework
- Jakarta EE Is Taking Off
- There is more to akka-typed than meets the eye
- 10 portfolio projects for aspiring automation engineers – loved this list of actual things to work on to showcase your skills in a portfolio
Culture & Community
As usual, a mix of stuff I think we should all care about. If we want to create things that change people’s lives, we need to understand about people’s lives.
- We Must Always Take Sides – read this before you skip over all links I’ve posted here about diversity. It’s important.
- What we don’t say when we talk about ‘inspirational’ founders
- Save the Tears: White Woman’s Guide
- What’s Missing From “White Fragility”
- Advice for Managers to Promote Mental Wellness in Turbulent Times (podcast)
- ‘Don’t Forget the White Women!’: Members Say Racism Ran Rampant at NOW – I was very sad (and angry) the first time I heard feminism isn’t for black women. I was in denial. But if we want to fight for true diversity we need to educate ourselves and understand what that looks like. Take a hard look at the organisations we think should be helping people and consider if they are actually marginalising others.
- Hey Employers: Do Black Lives Matter?
- 8 Actions That Help Black Colleagues Get Ahead At Work – real actions we can take
- Resources to Find, Support and Invest in Black Founders – take the extra steps
- Women in data science and AI – “Using research to inform concrete policy measures aimed at increasing the number of women in data science and AI”
- A 3-Minute Hack for Focus You’ve Probably Never Heard Of – seems great but… don’t most developers already listen to music to get in the flow?
- Time Management and Productivity Lessons for Managers
- Congratulations, You’ve Failed! Continuously Learning Through Failed Experiments (video) – Mala and I were literally just talking about learning through failure on the JetBrains Technology Day for Java.
- Promoted from Dev to Team Lead: 8 Things They Didn’t Tell Me – honestly this industry is so ridiculously bad at personal development (specifically when technology is not involved)
- Why and how to do annual performance reviews – with some tips for managers on being aware of traps that people fall into when providing feedback on women or non-white people.
- Women Engineers Who ‘Shaped the World’ #INWED20 – for International Women in Engineering Day
- It’s probably time to stop recommending Clean Code @ Things Of Interest – I had this marked for Annotated before the author of Clean Code said yet another set of upsetting things.
- Lessons from Michael Lopp “Rands” (podcast) – I haven’t listened to this yet, but I learnt so much from Michael Lopp in my early days as a developer, I’m really keen to hear what he has to say
Angie Jones Becomes the First-Ever Black Female Java Champion – readers of this newsletter won’t be surprised, you regularly see her excellent work here.
— Java Champions (@Java_Champions) July 2, 2020
Developer Advocacy / DevRel
Not surprisingly, I read a lot about developer advocacy-type topics as well as developer/coder topics. This month I found a bunch of interesting articles, which may be interesting to you if you like developer relations-type activities like documenting, writing tutorials, presenting etc.
LJC Virtual Event: Speaking at events and conferences – From getting started to getting keynotes (video) – full disclosure: features me and my mates
- The 10 things I’ve learned from speaking to the experts on why you should consider speaking at… – a written summary of some of the points from the above video
- How to virtually lead engaging technical presentations
- What’s the right word length for a blog post?🧐
- Evaluating Developer Experience – i.e. your help documentation and tutorials etc, how useful are they to your developers?
- Writing technical articles: Defining your ideal reader
- How I Write Talks – absolutely fascinating and not at all the same process I use!
Conferences and Events
Conferences and Events are pretty much all going to be virtual for the rest of the year. I don’t have many events in July to link to, but I do have a bunch of articles in this area.
- How we pivoted to an online conference, and why we can’t wait to do it again
- How Google is handling the shift to virtual events (video) – haven’t seen this yet but it’s on my watch list.
- July 17 – 20, 2018 · Denver – I was invited to present when it was a “real” event. Now it’s virtual and I’m jealous I’m not involved
- Our JetBrains Technology Day for Java was recorded, and the videos will be available on YouTube soon. Subscribe to be notified as soon as they’re available!
A round up of some of the blog posts and videos from IntelliJ IDEA and JetBrains. Also, did you notice? The blog has had a facelift!
- Code Formatting – blog post with video.
- Everyday Refactorings (video)
- Mix and Match Languages with Language Injections – I love this feature. It’s even more interesting when used with Text Blocks (which will be a standard features in Java 15)
Webinar: Productive Web Development in Java with IntelliJ IDEA, Spring Boot, and Vaadin – video of the recording, and blog with answers to the questions we didn’t get to.
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.