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 »TimeLine Layout
March, 2023
-
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 »