Java Annotated Monthly – May 2021
Spring is here, or it’s supposed to be at least. The Java Advocacy Team here at JetBrains decided to create a Spring application, so we could explore what that looked like and create some content for you as well. Project blossom is now in full swing, so you’ll see lots of Spring-related content in this version of Annotated Monthly. This project is also largely responsible for the Great Java Version War of 2021 as I now know it. We did a lot of talking, coding and Googling, and we have a working application! We will be sharing more of that journey in the coming weeks.
- The isthmus in the VM – Detailed discussion of potential new ways to connect to native code from the JVM.
- Java is criminally underhyped – An interesting viewpoint from a relative newcomer to the industry.
- Already lots of great content in this community for you to check out:
It’s a home for all things java: technical, non-technical, shortform, longform–you name it.
Share your thoughts and hear from others 👩💻🔄👨💻
— Caitlin Mahoney (@caitmm43) March 23, 2021
- openjdk/valhalla-docs – If you’re interested in finding out more about Project Valhalla.
- Quicker Java and JDK 16 compatibility – Inside Java Newscast #3 (video) – These are great explanation videos from @nipafx.
- JDK Comparison Matrix for the Enterprise – Brains like pictures, this one is especially useful and does an excellent job in summarising a very busy information space.
- CI: replace JDK 15 with 16 #16195 – There was a discussion on Twitter about whether Quarkus works with Java 16, some people found it was fine but this is the list of outstanding issues.
- Going back to The Great Java Version War of 2021, the other battle I was worried about has already happened:
Well this battle was fought at @JavaLandConf 2019 :D
— Matthias (@bukamabish) April 9, 2021
Java Tutorials & Tips
- How to fix Java security issues while coding in IntelliJ IDEA – Another excellent article from @BrianVerm discussing Snyk integration with IntelliJ IDEA and how that can help you to fix security vulnerabilities in your application.
- Even more greatness packed into Java 16, including tools for improving future JVMs – Favourite features from a range of Java champions to help get you up to speed.
- The Anatomy of ct.sym — How javac Ensures Backwards Compatibility – I’ve never thought about how this is achieved before.
- Improving the Ideal Graph Visualizer for better comprehension of Java’s main JIT compiler – Did you know there was a tool that can show you what the JIT compiler has done?
- Release memory back to the OS with Java 11 – Memory matters, and garbage collection isn’t the full story.
- New to Java? Some Resources – I think the little snippet of code I used for the blog image was more contentious than the blog itself.
— Rafael del Nero (@RafaDelNero) April 29, 2021
Languages, Frameworks, Libraries and Technologies
- Improving the Micronaut Guides Infrastructure – I always appreciate great documentation.
- JetBrains Releases IntelliJ IDEA 2021.1 – Talking of Johan Janssen, I had the pleasure of presenting at the first Antwerp Java User Group last week alongside Johan. They are just starting their meetups so please do support them if you can. You’ll even become an honorary ‘Antwerpian’ (unless you live there in which case you get the real deal)!
- Test Management within Continuous Integration Pipelines – Angie Jones writes legendary stories, and this one is no exception. There’s even a happily ever after, we all need one of those right now.
- Use Google like a pro – Invest in your Google-fu, it is your not-so-secret weapon. We did plenty of Googling when we were creating our Spring application, and the discussions of exactly what to Google were quite enlightening!
- Why are Java server-side developers not adopting Kotlin? – Not sure I agree with all of this blog, but it’s good to read other view points and challenge your own.
- Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter – Let’s hope this is the last time we include this blog in Annotated Monthly. There’s enough uncertainty in the world right now.
- DevProdEng Showdown! S1E3: DevRel Pros take on Developer Productivity Engineering at Scale – I wasn’t sure where to put this but since Trisha Gee won, I thought I better call it out!
Spring in Spring
Now I’m going to break the rules. Seeking forgiveness is always better than asking for permission, right? The following grouping of links are all ones that we, the Java Advocacy Team here at JetBrains found really useful when we needed some help with our Spring application. We did a lot of group-googling and made a note of everything that helped us. Thank you to all authors involved!
- Docker: Using docker-compose and networking to link a Spring Boot app to an external service dependency – I personally have learned an incredible amount about Docker in the last month, much of it from blogs like this one. Talking of Docker, check out Dalia’s new Docker video!
- Consuming a RESTful Web Service – useful if you’re communicating between microservices.
- Service Registration and Discovery
- 1. Service Discovery: Eureka Clients – How do you scale microservices? How do you avoid hardcoding URLs to other services?
- Microservices – Part 3: Spring Cloud Service Registry and Discovery
- Stubbing and Mocking with Mockito and JUnit – Very useful, we did a fair bit of this in our (mostly) TDD approach to creating our application.
- Integration Tests with @SpringBootTest – I’m still getting used to Spring magic.
- Building a RESTful Web Service – Probably our most visited URL for a few days.
- All You Need To Know About Testing Spring Data JPA Queries with Spring Boot
- Mapping missing in Intellij IDEA for Spring Boot application – Sometimes things just don’t go plan! We ran into a problem with an empty Endpoints window, this wasn’t the cause of our problem, but it might help someone.
Since I’m already breaking the rules and grouping things, here’s a bunch of cool Kotlin stuff for you:
- Nulls and Null Safety – Superb explanation with graphics.
- Building Kotlin Multiplatform Apps – Walk-through with code examples and graphics.
- Database Persistence in Kotlin
& Functional Domain Modeling in Kotlin
- The Kotlin Blog
- Teaching Kotlin for Science (video) – Our webinar with Alexander Nozik,
- Do you remember your first introduction to Kotlin? New Users Survey We’d really appreciate it if you could fill in this survey (and you could win something)!
Culture & Community
- Bro, Do You Even Code? The Politics of Tool-Shaming – Jim Seconde – PHPSW: September 2019 – Sure, not super recent, but 2020 doesn’t count. This is a story about tool shaming, tech elitism, and gate keeping. It is well worth your time.
- Companies’ Succession Announcements Can Inadvertently Make Work Life Harder For Incoming Female CEOs – Well-intended support can backfire due to deep-rooted gender bias.
- Tales from the jar side: Java 11 v 16, Oracle v Google, and a Taste of the After Times – Ken provided his own insight into the Great Java Version War of 2021 as well as lots of other interesting pieces including another war (although less great) – Google v Oracle.
- 10 questions to ask in a job interview that will really expose a company’s culture – All too often we fall into the trap of thinking that the business is only interviewing us, and it’s a one-way process. Let’s flip that – check out these culture questions you can ask.
- Software Development Trends 2021: Latest Research and Data – Includes “The effects of COVID-19 on the software industry”.
- Brain fog: how trauma, uncertainty and isolation have affected our minds and memory – Sound familiar?
- Kitchen Soap – On Being A Senior Engineer – “We need to continue pointing out what it means to be a “senior” and “mature” engineer if we have a hope of progressing the field into a true discipline.”
- How often do people actually copy and paste from Stack Overflow? Now we know. – Yeah, me too.
- Author Talks: Tsedal Neeley on why remote work is here to stay—and how to get it right
- The psychology behind ‘revenge bedtime procrastination’ – A long but fascinating read.
- What really happened at Basecamp & How Basecamp blew up – “Politics” might sound like something people can avoid talking about, but for many, especially minorities, politics is not just which box you tick on a piece of paper, but a genuine matter of life and death.
This feels like the right place for this tweet from @KentBeck:
Criticism isn’t just disliking things. Arts schools teach the skill & the respect for the work. Computer science schools don’t.
— Kent Beck (@KentBeck) May 4, 2021
- Chesterton’s Fence: A Lesson in Second Order Thinking – “Unless we know why someone made a decision, we can’t safely change it or conclude that they were wrong. “
A round up of blog posts and videos from IntelliJ IDEA and JetBrains:
- IntelliJ IDEA Tips and Tricks 2021. By Hadi Hariri (2021) (video) – You’ll learn something, you might even learn lots of things.
- IntelliJ IDEA Debugger Essentials – Egor Ushakov (video) – Great demo that was part of our IntelliJ IDEA 20th birthday celebrations. We’re still releasing the videos from IntelliJ IDEA Conf back in Feb, see them all on this playlist and subscribe to be notified when we publish more.
- Into to Docker [with Java Examples] – A great introductory walk-through of Docker with helpful examples.
- How We use Space to Develop Content for the JetBrains Guide – We launched our IntelliJ IDEA Guide this month too!
We’ve just launched the first edition of our #IntelliJ IDEA Guide! We hope this will serve as a central location for all your favourite tips and tricks. Check it out and and let us know what you think! #GettingToKnowIntelliJ https://t.co/h3qyTYNJ4b
— JetBrains IntelliJ IDEA (@intellijidea) April 19, 2021
- Next Live Stream: Make IntelliJ IDEA Your Own Join us for what is bound to be a very informative and helpful session.
- Don’t forget to upgrade to IntelliJ IDEA 2021.1.1
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop Trisha a message via Twitter.