DTrace Revisited: Advanced Debugging Techniques

DTrace Overview Understanding DTrace’s Capabilities System Monitoring and Analysis Process and Performance Analysis Customizability and Flexibility Real-World Applications Performance and Compatibility of DTrace Cross-Platform Compatibility Compatibility Challenges on MacOS Customizability and Flexibility of DTrace Adaptability to Various Scenarios Examples of Customizable Probes Real-World Applications of DTrace Final Words When we think of debugging, we think of breakpoints in IDEs, stepping …

Read More »

Is JDWP’s onjcmd feature worth using?

A few months ago, I told you about the onjcmd feature in my blog post Level-up your Java Debugging Skills with on-demand Debugging (which is coming to JavaLand 2024). The short version is that adding onjcmd=y to the list of JDWP options allows you to delay accepting the incoming connection request in the JDWP agent until jcmd <JVM pid> VM.start_java_debugging …

Read More »

The Evolution of Microservices with SOA: Navigating the Architectural Landscape

The Evolution of Microservices with SOA: Navigating the Architectural Landscape Microservices represent a paradigm shift in the way we construct distributed systems. This comprehensive guide dives into the heart of microservices and service-oriented architecture (SOA), comparing their roles in current development ecosystems. By understanding the evolution and the modern application of microservices, developers can harness their full potential for creating …

Read More »

Kicking the Tires of Docker Scout

I never moved away from Docker Desktop. For some time, after you use it to build an image, it prints a message: What’s Next? View a summary of image vulnerabilities and recommendations → docker scout quickview I decided to give it a try. I’ll use the root commit of my OpenTelemetry tracing demo. Let’s execute the proposed command: docker scout …

Read More »

Sorting Text in Java, How Complicated Can It Be?

Sorting text should be easy as String implements the Comparable interface. In this article, we’ll see that it can be more complicated than that. Text is represented by the String class in Java. In this article we’ll explore how to sort String, the advantages and drawbacks of each possibility. Level 1: Comparable The class String implements Comparable so sorting a …

Read More »

OpenRewrite: Migrate to Spring Boot 3.2

As a developer, we frequently face the challenges of migrating to newer versions of frameworks and refactoring code. However, we can effortlessly achieve these tasks with the assistance of OpenRewrite. OpenRewrite provides a stack of recipes specifically designed for migration purposes. By utilizing the appropriate recipes and integrating with the rewrite plugin, we can effectively migrate our code. Two months …

Read More »

Foojay Podcast 42: Jozi-JUG and Cape Town Java Community

Once a month in this podcast, we talk about the history of a Java User Group and the people behind it. Today, we are traveling to Cape Town and Johannesburg to learn more about its Java communities. Video Podcast (audio only) Java User Groups Jozi-JUG https://www.meetup.com/Jozi-JUG/ https://www.youtube.com/@JoziJUG https://twitter.com/jozijug Cape Town Java Community https://www.meetup.com/Cape-Town-Java-Meetup/ https://www.youtube.com/@capetownjug https://twitter.com/capetownjug Guests Corneil du Plessis https://www.linkedin.com/in/corneil/ …

Read More »

Hello eBPF: Recording data in event buffers (3)

Welcome back to my article series on eBPF. Last week, I showed you how the eBPF program and Java application can communicate using eBPF maps. This allowed us to write an application that counts the number of execve calls per user. This week, I’ll show you briefly how to use another kind of eBPF maps, the perf event buffer, and …

Read More »

Achieving High Throughput Without Sacrificing Latency

Latency and Throughput In discussions on performance, it is common to encounter the terms Latency and Throughput to describe the characteristics of a software component. We can define these terms as follows: Latency is a measure of the time taken for one thing to occur. For example, it could be the time taken to respond to a change in the …

Read More »

JavaFX Links of January 2024

This is the first JavaFX LinksOfTheMonth review for 2024, an overview of the LinksOfTheWeek that got published on jfx-central.com during January. Core JavaFX 21.0.2 (January 2024) is available on the Gluon website. Applications Robert Ladstätter added ZIP file support to LogoRRR: “No more unzipping before analysing your latest bugs from ops!” A Christmas present by Carl Dea: “I wanted to …

Read More »