Book Review: “OpenJDK Migration for Dummies”

A comprehensive and informative guide for those looking to navigate the complex world of JDK distributions and licenses, The post Book Review: “OpenJDK Migration for Dummies” appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Book Review: “Java Basics: A Practical Introduction to Full Stack Java”

Shai Almog's "Java Basics: A Practical Introduction to Full Stack Java" more than lives up to its title. And how could it be otherwise, with its highly Java driven and opinionated author. The post Book Review: “Java Basics: A Practical Introduction to Full Stack Java” appeared fi … | Continue reading


@foojay.io | 8 months ago

Review: OpenJDK Migration for Dummies

Have you been thinking of moving away from the Oracle JDK to OpenJDK? The book "OpenJDK Migration for Dummies", written by Simon Ritter of Azul, provides direction for those who are looking to make the move. In many cases, organizations ... The post Review: OpenJDK Migration for … | Continue reading


@foojay.io | 8 months ago

Building Real-Time Applications to Process Wikimedia Streams Using Kafka and Hazelcast

Learn how to build a real-time application to process Wikimedia streams using Kafka and Hazelcast. The post Building Real-Time Applications to Process Wikimedia Streams Using Kafka and Hazelcast appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

System Architecture: Move Authentication to the API Gateway

When exposing an application to the outside world, consider a Reverse-Proxy or an API Gateway to protect it from attacks. The post System Architecture: Move Authentication to the API Gateway appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Extending Availability of IBM Semeru Runtimes V11 Beyond October 2024

BM has extended the availability of IBM Semeru Runtimes V11 from Oct 2024 to Nov 2026. Semeru Runtimes is IBM's build of OpenJDK with Eclipse OpenJ9 technology. The post Extending Availability of IBM Semeru Runtimes V11 Beyond October 2024 appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

ArchUnit: Testing Your Architecture

ArchUnit is a library that allows us to test our architecture (layering/slicing/(naming) conventions, and more). The post ArchUnit: Testing Your Architecture appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

OpenRewrite: Automatic Code Refactoring and Maintenance – Part 2

Learn how to improve, refactor, and move a Spring Boot application with OpenRewrite. The post OpenRewrite: Automatic Code Refactoring and Maintenance – Part 2 appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Chronicle Services: Building Fast Microservices with Java

Chronicle Services presents an opinionated view of several of the specialised libraries we have developed to support low-latency applications. The post Chronicle Services: Building Fast Microservices with Java appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Five Ways to Use Gradle Enterprise to Identify and Manage Flaky Tests

Dealing with flaky tests is a significant challenge in software development. These unpredictable and inconsistent tests can pass or fail without any changes in code. The post Five Ways to Use Gradle Enterprise to Identify and Manage Flaky Tests appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Disco API: Helping You To Find Any OpenJDK Distribution

Did you know Foojay is not only a human-readable OpenJDK knowledge base but also provides the Disco API that lets you search all OpenJDK distributions? The post Disco API: Helping You To Find Any OpenJDK Distribution appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

The Evolution of Bugs

Unlock the secrets of debugging in software development. Dive deep into state bugs, thread issues, race conditions, and performance pitfalls. The post The Evolution of Bugs appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

New JavaFX theme library “Transit” released

A new Java (JavaFX) theme has been released. This is a new theme called "Transit" and it builds upon the lessons learned while developing JMetro. The post New JavaFX theme library “Transit” released appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Embracing Modernity: A Comprehensive Look at Sealed Classes, Pattern Matching, and Functional Paradigms in Java

Let's examine the principles and practical applications of Sealed Classes and pattern matching. The post Embracing Modernity: A Comprehensive Look at Sealed Classes, Pattern Matching, and Functional Paradigms in Java appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Gerrit and Ivar’s North America JUG Tour!

Because I will be in the US this month, I decided to do a little Java User Group tour again. Ivar Grimstad from the Eclipse Foundation will join me and we will visit a couple of JUGs. The post Gerrit and Ivar’s North America JUG Tour! appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

The New JdbcClient Introduced in Spring Framework 6.1

Spring framework 6.1 introduced a new JdbcClient API, which is a wrapper on top of JdbcTemplate, for performing database operations using a fluent API. The post The New JdbcClient Introduced in Spring Framework 6.1 appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Load Testing: Shoot Your Application With Gatling

Load testing entails testing how our application performs under a significant load so we can be certain it behaves as expected when there’s an influx of users. The post Load Testing: Shoot Your Application With Gatling appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Ops friendly Apache APISIX

Though I always worked on the Dev side of IT, I was also interested in the Ops side. I even had a short experience being a WebSphere admin: I used it several times, helping Ops deal with the Admin console ... The post Ops friendly Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

OpenRewrite: Automatic Code Refactoring and Maintenance

OpenRewrite is a powerful tool for automatic code refactoring and maintenance, utilizing customizable recipes to streamline your coding process. The post OpenRewrite: Automatic Code Refactoring and Maintenance appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

JUGPH: Continuing the Connection with the Java Enthusiasts

A JUG PH Continuation Report for the June and August Meetups. This report focuses on the meetups that happened in June and August 2023. The post JUGPH: Continuing the Connection with the Java Enthusiasts appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Foojay Podcast #27: Chicago JUG and KUG

Since December last year, the Foojay podcast virtually visited a Java User Group monthly. And this time, we are in Chicago to learn from the Java and Kotlin user groups. The post Foojay Podcast #27: Chicago JUG and KUG appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Unlocking Java Wisdom: A Conversation with Oracle ACE Simon Martinelli

In a recent insightful interview, Simon Martinelli, an Oracle ACE associate and veteran Java developer, shares his career experiences, software development philosophies, and views on mentoring. With over two decades in the industry, Martinelli offers a perspective that combines t … | Continue reading


@foojay.io | 8 months ago

Book review: “OpenJDK Migration for Dummies”

Is "OpenJDK Migration for Dummies" worth reading? I'd say so! The post Book review: “OpenJDK Migration for Dummies” appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

It’s 2AM Do you Know What Your Code is Doing?

There's a newer approach to developer observability that helps with deeper understanding. Learn how code works in production, not in theory. The post It’s 2AM Do you Know What Your Code is Doing? appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

JavaFX Links of August 2023

I've taken a holiday this month, so probably missed a lot of the amazing JavaFX news, but still some things caught my attention and you can find them in this LinksOfTheMonth overview. But the most essential and thrilling news is ... The post JavaFX Links of August 2023 appeared f … | Continue reading


@foojay.io | 8 months ago

Azul Enhances ReadyNow to Solve Java’s Warmup Problem, Simplify Operations, and Optimize Cloud Costs

ReadyNow Orchestrator delivers the highest possible optimized code speed at warmup while making deployment easier for containerized Java workloads and CI/CD pipelines, and requires no changes to Java applications. The post Azul Enhances ReadyNow to Solve Java’s Warmup Problem, Si … | Continue reading


@foojay.io | 8 months ago

Spring 6.1 – RestClient

Getting started making use of the new RestClient introduced in Spring 6.1! The post Spring 6.1 – RestClient appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Configuring Spring Boot to Build a Docker Image with Azul Zulu and Debug Options

The Spring Boot Maven Plugin makes creating a Docker image from your app very easy! Let's see how define the Java runtime used and more. The post Configuring Spring Boot to Build a Docker Image with Azul Zulu and Debug Options appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Writing Testable Code: A Journey Through Consideration and Refactoring

By considering real-world examples and learning from the process of refactoring and testing, we can create robust and maintainable code that stands the test of time. The post Writing Testable Code: A Journey Through Consideration and Refactoring appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Three Key Elements to Incorporate into Your Flaky Test Remediation Approach

Flaky tests pose substantial challenges due to their unpredictable and inconsistent nature. Effectively addressing them requires a multi-faceted approach! The post Three Key Elements to Incorporate into Your Flaky Test Remediation Approach appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

How to Create a Spring Boot Application to Retrieve Data from Evernote

In this article, I will show you how to use the Evernote API and SDK in a Spring Boot application to retrieve data from Evernote. The post How to Create a Spring Boot Application to Retrieve Data from Evernote appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Spring Boot: Local Development Enhancements, Let’s Compose!

How to make use of the new local development enhancements in Spring boot 3.1. Get started here on Foojay.io Today! The post Spring Boot: Local Development Enhancements, Let’s Compose! appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Well Worth My Time: “OpenJDK Migration for Dummies”

Good job of establishing the motivation for using OpenJDK and providing actionable steps for how to pursue that migration. The post Well Worth My Time: “OpenJDK Migration for Dummies” appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Debugging as a Process of Isolating Assumptions

When looking at a vast project, how do we know the direction to narrow assumptions during debugging? When should we backtrack and rethink? The post Debugging as a Process of Isolating Assumptions appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond

In this article, we will cover how to store files in a database using Spring Boot and discuss some alternatives. The post Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Introduction to the Tower Library

In Rust, Tower is designed around Functional Programming and two main abstractions, Service and Layer. The post Introduction to the Tower Library appeared first on foojay. | Continue reading


@foojay.io | 8 months ago

Testing and Local Development Made Simpler with Testcontainers Desktop App

Learn how you can use Testcontainers Desktop app to simplify your testing and local development workflow. The post Testing and Local Development Made Simpler with Testcontainers Desktop App appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Generate AI-based Images with Quarkus and OpenAI DALL.E

In this article, we explore how to integrate the OpenAI API within a Quarkus application The post Generate AI-based Images with Quarkus and OpenAI DALL.E appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Is OpenJDK Just a Drop-In Replacement?

What are the pitfalls in replacing OracleJDK with OpenJDK? Simon Ritter has some interesting observations in his free new book. The post Is OpenJDK Just a Drop-In Replacement? appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Taming the Bias: Unbiased Safepoint-Based Stack Walking

Erik Österlund summed up the problems with my previous JEP proposal, and in a way with AsyncGetCallTrace, quite nicely, and here are my responses! The post Taming the Bias: Unbiased Safepoint-Based Stack Walking appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Thread-Safe Counter in Java: A Comprehensive Guide

In this tutorial, we will explore the concept of thread safety in Java, specifically focusing on a simple counter. The post Thread-Safe Counter in Java: A Comprehensive Guide appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

6 Considerations when Building High-Performance Java Microservices with EDA

Renowned for its resilience and low latency, EDA is a reliable choice for developing robust, high-performing microservices. The post 6 Considerations when Building High-Performance Java Microservices with EDA appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Pitest: Do You Test Your Tests?

A brief introduction with code to mutation testing using Pitest. Now you too can get started testing your tests! The post Pitest: Do You Test Your Tests? appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

My Final Take on Gradle (vs. Maven)

Software development is a fast-changing field, and much of our understanding is based on personal experience. So here's mine. The post My Final Take on Gradle (vs. Maven) appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Can’t Reproduce a Bug?

"It works on my machine" is not an excuse. Sometimes we have bugs that we can't reproduce or understand. How do we investigate these bugs? The post Can’t Reproduce a Bug? appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Pi4J Operating System for Java development on Raspberry Pi

Pi4J is an ideal way to introduce the Java language into experiments with electronic components. The post Pi4J Operating System for Java development on Raspberry Pi appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

Working with GitLab Merge Requests in IntelliJ IDEA

In this tutorial, we will take a look at working with GitLab Merge Requests inside IntelliJ IDEA. The post Working with GitLab Merge Requests in IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 9 months ago

AsyncGetCallTrace Reworked: Frame by Frame with an Iterative Touch!

This article is the first of two articles covering the draft of a new iterator-based stack walking API, which builds the base for the follow-up article on safepoint-based profiling. The post AsyncGetCallTrace Reworked: Frame by Frame with an Iterative Touch! appeared first on foo … | Continue reading


@foojay.io | 9 months ago