Java Performance: Ahead-Of-Time versus Just-In-Time

The impact of the Just-In-Time (JIT) compiler should not be underestimated to achieve the best performing code during runtime. The post Java Performance: Ahead-Of-Time versus Just-In-Time appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Java on Azure Tooling Update – October 2022

In this update, we will introduce our new roadmap in the next few months, plus learn about Azure Functions Deployment Slot Support. The post Java on Azure Tooling Update – October 2022 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Geo-routing with Apache APISIX

Geo-routing is a requirement for successful apps and businesses. Apache APISIX doesn't provide it out-of-the-box... The post Geo-routing with Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Observability is Cultural

To leverage observability, we need a significant shift in our corporate culture that encapsulates the entire company and goes beyond tools. The post Observability is Cultural appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Clean Shutdown of Spring Boot Applications

Article discusses and presents five ways to shutdown Spring Boot apps cleanly. It provides inline code samples and link to GitHub. The post Clean Shutdown of Spring Boot Applications appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Reviewing CVE-2022-42889: Arbitrary Code Execution Vulnerability in Apache Commons Text (Text4Shell)

Resolve this issue by upgrading to commons-text version 1.10 (or later), which disables the prefixes URL, DNS, and script by default. The post Reviewing CVE-2022-42889: Arbitrary Code Execution Vulnerability in Apache Commons Text (Text4Shell) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Moving Security into the JVM

With Azul Vulnerability Detection, running the software and getting security insight become the same action. The post Moving Security into the JVM appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Creating Terabyte Sized Queues with Low-Latency

Learn how to create huge persisted queues while retaining predictable and consistent low latency using open-source Chronicle Queue! The post Creating Terabyte Sized Queues with Low-Latency appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Structured Error Messages for HTTP APIs

RFC 7807 helps API implementors as it provides quick guidelines to avoid reinventing the wheel on every project. The post Structured Error Messages for HTTP APIs appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Discuss the Problem, Not the Solution!

Discussing the problem offers insight into what the problem is all about. If you want to bring more value, question what the problem is. The post Discuss the Problem, Not the Solution! appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

JavaFX Links of October

When I (re)started the JavaFX Links Of The Week in September, I was wondering if there would be enough material to share every week... The post JavaFX Links of October appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Renovate: Dependabot Alternative

Compared to Dependabot, I love Renovate's capability to update Docker, Docker Compose, and Kubernetes files. I'll use it from now on. The post Renovate: Dependabot Alternative appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The Problem with Functional Programming

Functional programming is amazing, although I think there are a few problems that prevent it from being used more. The post The Problem with Functional Programming appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Trip Report: Dubai JUG 2nd Meetup

The second meetup, yet also the first real one. The first one was more of a practice team building version. The post Trip Report: Dubai JUG 2nd Meetup appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

A Minor But Useful Refactoring Technique That Would Reduce Your Code Footprint (Part 2)

As I keep refactoring, this article will focus on a few more interesting ways to do it. These are pretty much minor yet effective and useful changes. Stream.noneMatch() and Stream.anyMatch() In some situations, we need to find a single case ... The post A Minor But Useful Refacto … | Continue reading


@foojay.io | 2 years ago

Why the Fastest Way of Serializing a Java Field is not Serializing it at All

This article elaborates on different ways of serializing Java objects and benchmarks performance for the variants. Read this article and become aware of different ways to improve Java serialization performance. In a previous article about open-source Chronicle Queue, there was .. … | Continue reading


@foojay.io | 2 years ago

Foojay Podcast #6: Welcome to Foojay!

Let's look back and what has happened on Foojay during the last 2,5 years and talk to some of the people behind the project. The post Foojay Podcast #6: Welcome to Foojay! appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

When Breakpoints Don’t Break

Tracepoints, also known as Logpoints, are gaining name recognition. But some still don't know about the non-breaking breakpoints family. The post When Breakpoints Don’t Break appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Exceptions in Java Lambdas

Java streams don't play well with checked exceptions. To recover the readability we expect of streams, we can rely on Apache Commons Lang. The post Exceptions in Java Lambdas appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

How to Use Java DTOs to Stay Secure

How DTOs are used in modern Java applications, ways your application can benefit, and how Java DTOs can help you be more secure by preventing accidental data leaks. The post How to Use Java DTOs to Stay Secure appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

A Minor But Useful Refactoring Technique That Would Reduce Your Code Footprint (Part 1)

That was a long-awaited migration, but I'm pleased that we eventually made it. The next thing... "Why not Java 17 directly?" The post A Minor But Useful Refactoring Technique That Would Reduce Your Code Footprint (Part 1) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Book review: Learn JavaFX Game and App Development with FXGL 17

Review of new book on FXGL, providing an impressive list of components with methods to override and build the exact functionality your game requires. The post Book review: Learn JavaFX Game and App Development with FXGL 17 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

How to Build Low Latency Crypto Trading Systems using Java and Chronicle Services

Chronicle-Services framework allows running the market data connectors within a single event loop, which is designed to minimize latency. The post How to Build Low Latency Crypto Trading Systems using Java and Chronicle Services appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Java on Azure Tooling Update – September 2022

In this update, we will introduce the Azure Cosmos DB Support, the Azure Virtual Machine Enhancement, and Azure SDK Reference Book updates. The post Java on Azure Tooling Update – September 2022 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Java on Azure Tooling Update – August 2022

In this update, we will introduce the new AKS support and Virtual Machine support. Check it out and try it out! The post Java on Azure Tooling Update – August 2022 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Analyzing and Tuning Warm-up of the JVM with Azul Zulu Prime Builds of OpenJDK

Get a basic understanding of how JIT compilation works and how to optimize warm-up using Azul Zulu Prime Builds of OpenJDK. The post Analyzing and Tuning Warm-up of the JVM with Azul Zulu Prime Builds of OpenJDK appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

MicroProfile Config for Java SE

How can you use MicroProfile Config in a pure Java SE environment? What libraries support this, what are the supported features, etc? The post MicroProfile Config for Java SE appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

High-Performance Java Serialisation to Different Formats

Learn the basics of serialization in an article that discusses some of the key advantages of the open source Chronicle Wire. The post High-Performance Java Serialisation to Different Formats appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Presenting with IntelliJ IDEA

Let's learn a lot of different tips and tricks that will level up your presentation skills with IntelliJ IDEA! The post Presenting with IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The Reason Java is Still Popular

There's a reason Java continues to maintain popularity for such a long period of time: its conservative, slow, and steady approach is key to its success The post The Reason Java is Still Popular appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Best Practice: Comparative Evaluation of JDK Setups — Azul Zulu Prime vs. OpenJDK

How to establish whether Azul Zulu Prime improves aspects of application behavior to a degree justifying using it within your organization. The post Best Practice: Comparative Evaluation of JDK Setups — Azul Zulu Prime vs. OpenJDK appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Unified Event-Driven Architecture for the Cloud Native Enterprise

CTOs and enterprise architects have long recognized the importance of event-driven architectures (EDA). While once considered purely a technology concern, the foresight of organizations that have invested in EDA has become readily apparent as the world has shifted around us. ... … | Continue reading


@foojay.io | 2 years ago

Low Latency Microservices, A Retrospective

Learn what we learned after five years of developing and supporting low latency microservices. The post Low Latency Microservices, A Retrospective appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Am I Testing the Right Way?

What can or should be considered the right size of a unit with regard to what is tested in isolation? Two unit-testing approaches explained! The post Am I Testing the Right Way? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The Maze of Python Dependency Management

The default Python's dependency management system breaks automated version upgrades, take a look at the pip-compile alternative. The post The Maze of Python Dependency Management appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

JavaFX Links of the Month September

The JavaFX links of the week are back on jfx-central.com, and here we collect the complete month for you in an excellent overview. The post JavaFX Links of the Month September appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Starting Docker Desktop with Spring Boot

In this article, we discuss Docker Desktop, including the Docker file, creating/pushing Docker images, creating/running Docker containers. The post Starting Docker Desktop with Spring Boot appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

What Does a Modern JVM Look Like, And How Does It Work?

In this article, the internal workings of the JVM are discussed, e.g., interpreter, JIT compiler, and how it optimizes code. The post What Does a Modern JVM Look Like, And How Does It Work? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Reclaiming Persistent Volumes in Kubernetes

Kubernetes is a widely used open-source container management platform for running stateless, containerized applications at scale. In recent years, Kubernetes has been extended to also support stateful workloads, including databases and key-value stores. There are three important … | Continue reading


@foojay.io | 2 years ago

Chronicle Queue Storing 1TB in Virtual Memory on a 128GB Machine

Chronicle Queue and Chronicle Map allows you to have a persisted store which can be embedded into multiple JVMs on the same server. The post Chronicle Queue Storing 1TB in Virtual Memory on a 128GB Machine appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Apache APISIX Loves Rust! (And Me Too)

Context and more surrounding the Rust integration in Apache APISIX, a good story because it highlights the power of Open Source. The post Apache APISIX Loves Rust! (And Me Too) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

OmniFish Announces Enterprise Support for Eclipse GlassFish, Jakarta EE 10, and a New Cloud‑Native Jakarta EE Runtime

OmniFish is a new international company that offers Java consulting and support for Eclipse GlassFish and a new cloud‑native runtime Piranha Cloud. The post OmniFish Announces Enterprise Support for Eclipse GlassFish, Jakarta EE 10, and a New Cloud‑Native Jakarta EE Runtime appea … | Continue reading


@foojay.io | 2 years ago

Great Time at JavaZone 2022

I had a pretty awful travel experience trying to reach Oslo, but it’s all worth it for what is possibly my favorite conference: JavaZone. The post Great Time at JavaZone 2022 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Payara Launches Jakarta EE 10 Platform Compatible Product

With the launch of Jakarta EE 10 today, Payara releases Payara 6 Community Alpha 4 immediately, bringing new features! The post Payara Launches Jakarta EE 10 Platform Compatible Product appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

What is MicroProfile?

What is the MicroProfile specification, what is it used for, and why might you need it? Find out here and get started!  The post What is MicroProfile? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

A Better Way To Use Gradle With Github Actions

To enhance the experience of building Gradle projects on GitHub Actions, the Gradle team has developed the gradle-build-action. The post A Better Way To Use Gradle With Github Actions appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Resolving Git Merge Conflicts in IntelliJ IDEA

At some point in your career, probably many points, you'll have to resolve merge conflicts. A common cause of merge conflicts is when you're working on a feature branch... The post Resolving Git Merge Conflicts in IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The 5 Most Pivotal and Innovative Additions to OpenJDK 19

Although OpenJDK 19 is not an LTS, it is still a significant release, in my opinion. It includes several game-changing features that will alter the Java landscape. The post The 5 Most Pivotal and Innovative Additions to OpenJDK 19 appeared first on foojay. | Continue reading


@foojay.io | 2 years ago