TimeLine Layout

March, 2023

  • 17 March

    How to Create SBOMs in Java with Maven and Gradle

    When building applications in Java, we highly depend on external libraries and frameworks. And each Java package that is imported likely also depends on more libraries. This means that the amount of Java packages included in your application is often not really transparent. As a developer, these nested (transitive) dependencies create the problem that you probably do not know all …

    Read More »
  • 17 March

    Book review: “Practical Design Patterns for Java Developers”

    Hone your software design skills by implementing popular design patterns in Java This book is for sale on Amazon in Kindle and Paperback editions. We’ll start this post with the personal verdict of two avid readers of this book: Frank Delporte’s Verdict I’ve been programming since I was 10y old, but I graduated from film school as a video editor, …

    Read More »
  • 16 March

    Validating Java Profiling APIs

    In my last article, I covered a correctness bug in the fundamental Java profiling API AsyncGetCallTrace that I found just by chance. Now the question is: could we find such bugs automatically? Potentially uncovering more bugs or being more confident in the absence of errors. I already wrote code to test the stability of the profiling APIs, testing for the …

    Read More »
  • 16 March

    The Speed Test: Comparing Map.of() and new HashMap() in Java

    Java is a popular programming language used for developing a wide range of applications, including web, mobile, and desktop applications. It provides many useful data structures for developers to use in their programs, one of which is the Map interface. The Map interface is used to store data in key-value pairs, making it an essential data structure for many applications. …

    Read More »
  • 15 March

    Efficient Memory Mapping for Terabyte Sparse Files in Java

    On Linux, you can create sparse files, where only the pages (of 4 KiB) that are touched utilise either memory or disk space. This allows you to memory map large virtual regions without worrying about wasted memory or disk In this program, you can see it reserves 8 TiB (8,192 GiB) Figure 1. Test 1: Sparse file Tip: x << …

    Read More »
  • 14 March

    How Gradle Works: Inside the Daemon

    Previously in the How Gradle Works series: How Gradle Works: Startup This is the second article of the series How Gradle Works. In this article, we’ll explain what happens inside the Gradle Daemon JVM. Why Do We Need Gradle Daemon? In the last article, we mentioned that Gradle starts a Gradle Daemon JVM (“the daemon”) to run the build. The …

    Read More »
  • 13 March

    From Law Degree to Java Champion: Geertjan Wielenga on the Success of Java and Navigating the Software Industry

    In this interview, we chat with Geertjan Wielenga, a Java Champion and developer advocate at Azul. Geertjan talks about how he unusually got into the software industry and what it was like to work with Java and its community. He talks about what has made Java so successful, the problems developers face in a constantly changing industry, and how important …

    Read More »
  • 13 March

    Getting Started with IntelliJ IDEA

    First up, I have created a tutorial on the IntelliJ IDEA Guide if you want to view the content with videos. I’ll concentrate on text-based for this article. When someone new joins your team, it can be quite an overwhelming experience. There are lots of people to meet, new technologies to learn, different processes to learn and of course, an …

    Read More »
  • 12 March

    DevOps for Developers: Introduction & Version Control

    I start some of my talks with a joke: back in my day we didn’t have monitoring or observability. We’d go to the server and give it a kick. Hear the HD spin? It’s working! We didn’t have DevOps. If we were lucky we had some admins and a technician to solve hardware issues. That’s it. In a small company, …

    Read More »
  • 11 March

    9 Outdated Ideas About Java

    Since the first release of Java in 1995, a lot has changed in both software and hardware, and each evolution impacts the next. Powerful processors and cheaper memory allow software to do more and do it faster. As Azul Deputy CTO Simon Ritter says, “Java shows no danger of becoming the new COBOL. By adding new features to the platform …

    Read More »