IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – August 2021
Apparently it’s been three whole months since I, Helen, last had the pleasure of editing Java Annotated Monthly. I do feel that time is passing differently since the pandemic. Then again, I’m constantly surprised that it’s not March 2020. Right, on to the show! First up, IntelliJ IDEA 2021.2 has been released! Trisha has done an excellent job as always with the screencast detailing What’s new for Java Developers.
I would also be remiss if I didn’t mention that we, the Java Advocates Team, launched our Coffee Club this week. We streamed our first session called Episode Zero (of course) on Wednesday.
Episode One is going to be live on our YouTube channel on Wednesday 11th August. We will all be talking about levelling up as a developer through non-technical skills. We hope you can join us for the discussion!
Java News
- JEP 387 “Elastic Metaspace” – a new classroom for the Java Virtual Machine – “…the new Metaspace in Java 16 saves memory – how much depends on the scenario.”
- Is Java 17 a Glass Half Full? – There’s a huge list of JEPs going into this release, but project Loom, Valhalla, Amber and Panama are not complete.
- Inside Java Newscast #9 (video) – Covering Random Number Generation and JDK Flight Recorder
- JEP Cafè #2 – Sealed Classes (video) – Informal chat about the goals of JEP 409. I like the goal-first approach discussion, it makes sense in my head. The jazz isn’t bad either.
- A few updates to JEP 411: Deprecate the Security Manager for Removal – “JEP 411 has been moved to the Completed state as all required tasks have been completed.”
- Java News Roundup: IntelliJ IDEA 21.2, Quarkus 2.1, Micronaut 3.0.0-M5, WildFly, Payara Platform – I like these summary blog posts, they’re perfectly consumable with the morning brew.
- GraalVM 21.2 Improves Native Components
Java Tutorials & Tips
- Ripe for the picking: 11 essential Java features to help modernize your code – I really like streams, the other 10 are good too.
- 4 ready-to-try Java tools your team may not know about – Sticking with Oracle blog posts, there’s more nuggets of knowledge in this blog post including fun stuff with the Java Flight Recorder framework.
- The hidden gems in Java 16 and Java 17, from Stream.mapMulti() to HexFormat – Lastly from the Oracle site, there’s a lot more to each release of Java than meets the eye! Looking behind the scenes some other features and improvements that went into Java 16 and are going into Java 17.
- Installable Java Apps with jpackage – IntelliJ IDEA supports jpackage too.
- How to make debug-friendly method references – Working around the lack of function creation point information in the stack trace when you’re using method references.
- Filtering a Java Collection by type – How to use pattern matching for instanceof to filter out certain types from a Java Collection.
- Finally for Java, here’s a raft of blog posts from Aleksey Shipilëv that all happened to land in July! The blog post titles are self-explanatory so I’ve saved you from my annotations!
Languages, Frameworks, Libraries and Technologies
- The Modern Java Platform – 2021 Edition – a brief history lesson followed by a helpful walk-through of the modern aspects of the Java platform.
- IntelliJ IDEA tricks that I use daily-Java/Spring MS Handling – some great top tips for using IntelliJ IDEA
- Post-IntelliJ – Okay, so this is from 2005, but it’s aged very well!
- Two blog posts for you here, firstly, Introduction to creating IntelliJ IDEA plugins and more recently Advanced guide to creating IntelliJ IDEA plugins – there’s lots of information here about creating plugins that you can use alongside the JetBrains documentation
- Real Example of a Deployment Pipeline in the Fintech Industry (video) – With narration from Dave Farley
- How to Test Gradle Plugins – Step-by-step tutorial with screenshots and code examples to play with.
- The Best Java Testing Frameworks to focus in 2021 – I’ve not used anywhere near all frameworks listed here, which is exactly why a blog post like this is so useful! It’s a one-stop-shop to get a feel for that testing framework before you go all in.
- The missing Java data structures no one ever told you about — Part 1 – Get this bookmarked because this is just part 1! Really nice graphics and explanations as always.
- Effective extension function refactoring in Kotlin: companion object use case
- TalkingKotlin podcast: Kotlin at DoorDash – “Matt Anger, walks us through how they have embraced Kotlin on Android, their server-side backend services, migrating away from their previous monolithic implementation, and going all in with Kotlin as DoorDash’s language of choice.”
- TalkingKotlin podcast: Kotlin in Education – “In this episode, we’ll sit down with Ksenia Shneyveys, the Kotlin Manager for Education and University Relations at JetBrains, and talk to her about the current state and future of Kotlin in academia.”
- Working with Kotlin Flow: nesting and chaining – Understanding nesting and chaining helps you to avoid those tricky bugs.
- Jetpack Compose: Missing piece to the MVI puzzle? – includes sample project on GitHub so you can have a play with MVI implementation yourself.
Conferences and Events
- Staying Ahead of the Curve – Trisha Gee will be speaking at Spring One this year.
Culture & Community
The Olympics is on, and it would we weird if we didn’t have some reference to sport in here somewhere.
- Weird Programming Facts #1 – This story starts with a history lesson in paper tape and explains why some of our beloved characters have their origins back in the 1960s.
- On the Evilness of Feature Branching – A Tale of Two Teams – Trunk-based development requires a certain mindset – “A can-do mindset. A whatever-happens-this-will-work mindset.”
- Lewis Hamilton: ‘Everything I’d suppressed came up – I had to speak out’ – An incredibly honest and vulnerable read from one of (if not) the greatest drivers of all time.
- Ken Kousen has written a couple of blog posts related to his book which I had the pleasure to read in the editing phase – Help Your Boss Help You.
- Why Your Manager Is So Bad – we’ve all been there or are there!
- Struggling at The Game of School – I didn’t struggle at the game of school, but I watched many around me really struggle, and now I know why.
- When Your Boss Is a Micromanager – Fortunately my boss isn’t a micromanager (I’m just writing that to see if she reads it)!
- Who We Elevate – “We need more accurate portrayals of what it’s like to be a sportswoman, awareness with periods, with sports bras, with body image, physical health, mental health and self-esteem.” – yes, yes we do!
- Top Software Engineering Interview Tips (video) – with narration from Dave Farley and my favourite interview advice “Remember, you are interviewing the interviewers are much as they’re interviewing you!”
- The one where we get smarter about how we divide up our workday – contains excellent call to actions that we should all be doing to work smarter, not harder. I agree with all of these, especially “Treat your physical and mental health as core parts of your job.”
- Two Companies, Two DevRel Positions, Two Different Interview Processes – learning about other people’s interview experiences is always valuable, irrespective of if you agree or not with the company process.
- Following on from my post on Responding to a Developer Conference CFP, I’d like to include a new blog post from another author on How (Not) to Respond to a CFP – this is excellent advice that I completely agree with.
- I also created a follow-up blog post to that one called Delivering Your First Live Talk and Carly Richmond created a pair blog post for those of you who have been asked to submit a pre-recorded talk Let The Record Show
- Joy, or Not – An excellent read that will trigger some self-reflection.
- The case of the 500-mile email – No, it wasn’t a joke. It had me reading until the end.
- Women participate less at conferences, even if gender-balanced = study – “There’s a lot of talk about women needing to ‘lean in’, but actually… we’ve kind of created the scientific culture that might make it more difficult for them to participate.” – I couldn’t agree more.
- How to manage ego at work (podcast) – Includes a survey for self-reflection and ideas for managing your own ego as well as the impact other people’s ego may have on you.
And Finally
A round up of blog posts and videos from IntelliJ IDEA and JetBrains:
- Dalia’s gentle introduction to Docker – A well paced introduction to Docker based on the screencasts that can be found on our JetBrains TV channel.
- Maven and IntelliJ IDEA – Fantastic blog post from Mala with lots of insight and detail for using Maven in IntelliJ IDEA
- The big question I like to ask is, “What can we create that would be helpful to a million of people?” – Insight from JetBrainers into how and why we do what we do!
- I added some new playlists for our IntelliJ IDEA Guide including “Getting Started With IntelliJ IDEA” and “Using Search Everywhere”.
- LiveStream Summary: FXGL – Cross-platform JavaFX Game Engine for Java and Kotlin
- Useful Kotlin Idioms You Should Know
- Solving Advent of Code Puzzles in Idiomatic Kotlin, Day 1 and Solving Advent of Code Puzzles, Day 2
- Join us for this month’s Live Streams:
- Testcontainers – From Zero to Hero – containing not one, not two, but three JetBrains developer advocates! Join Mala, Marco and Trisha for this session.
- Creating a Kotlin Course from Scratch
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or email us (java-advocates@jetbrains.com).