Memory Debugging – a Deep Level of Insight

When I mention memory debugging the first thing that comes to the minds of many developers is the profiler. That isn’t wrong but it’s still a partial picture. Profilers are amazing at mapping that “big picture” but when you want to understand the domain, they fall short. Modern debuggers let us gain a level of insight into the application that’s …

Read More »

Firefox Profiler Beyond the Web

This blog post is the base of the first half of my upcoming talk at FOSDEM 2023 on the topic “Firefox Profiler beyond the web: Using Firefox Profiler to view Java profiling data.” For the impatient: Take a look at my Java JFR Profiler IntelliJ plugin to easily profile your application and view JFR files directly in your IDE. I …

Read More »

Why Core-to-Core Latency Matters

A few years ago we had a global shortage of microchips; now, I feel there is a worldwide shortage of software developers. Like many other software companies, Chronicle Software is rapidly expanding and interviewing candidates. We usually ask candidates to demonstrate a good knowledge of core Java, then we cover slightly more advanced concepts, such as the use of volatile …

Read More »

Real-time Stream Processing with Hazelcast and StreamNative

Introduction One of the most useful features of real-time stream processing is to combine the strengths and advantages of various technologies to provide a unique developer experience and an efficient way of processing data in real time at scale. Hazelcast is a real-time distributed computation and storage platform for consistently low latency queries, aggregation and stateful computation against real-time event …

Read More »

How to Run a Java Application with CRaC in a Docker Container

CRaC (Coordinated Restore at Checkpoint) is an OpenJDK project that was developed by Azul to solve the problem of “slow” startup times of the Java Virtual Machine in a microservice environment. When the JVM runs your application code, it does things like interpreting, compiling and optimizing code to make your application run as fast as possible under the given workload. …

Read More »

More Foojay.io FOSDEM Speaker Predictions for 2023

Following on from the first part in this series, covering Simon Ritter and several more, here is the next set of reflections on 2022 and expectations for this year, from speakers who will be in the Foojay.io developer room at FOSDEM on Sunday, 5 February. What’s going to happen this year? In the software supply chain arena, it’s pretty clear …

Read More »

Journeys in Java, Level 7: Externalize Microservice Configuration

Our decided next step for this project takes us in a new direction by adding externalized configuration for our applications. We already saw how to do something similar with MongoDB database credentials in Docker Compose to access a local database container, but what do we do when the database is hosted on public cloud or contains sensitive data? We probably …

Read More »

JavaFX Links of January 2023

2023 has taken of with a flying start in JavaFX-world! Here is a summary of the Links Of The Week that were published in January on jfx-central.com. JavaFX Versions Gluon announced the first set of JavaFX releases in 2023: JavaFX 19.0.2: public release containing some updates and security patches to JavaFX 19. JavaFX 11.0.18 and JavaFX 17.0.6: for LTS customers …

Read More »

Quest for REST

Since I started working for Apache APISIX, I have tried to deepen my understanding of REST via various means. Did you read my review of API Design Patterns book? In the current literature, REST is generally promoted as the best thing since sliced bread. Yet, it comes with lots of challenges. In 2010(!), Martin Fowler wrote a post on the …

Read More »

How Java Litters Beyond the Heap: Part 3, Solid-State Drives

A Java application dutifully executes your logic, leaving behind footprints in the Java heap in the form of dead objects. A garbage collector will then step in and clean out the memory for the new data. This cycle repeats until the app is stopped. This is well known. But, the Java heap is one of many places where your app …

Read More »