Easily Manage Different Java Versions on Your Machine with SDKMan!

SDKMan! stands for Software Development Kit Manager, a shell script that allows you to manage parallel versions of multiple Software Development Kits for JVM-based languages. The post Easily Manage Different Java Versions on Your Machine with SDKMan! appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Exploring the Impact of Stack Size on JVM Thread Creation: A Myth Debunked

Does stack size have an impact on the number of native threads that can be created in a JVM environment The post Exploring the Impact of Stack Size on JVM Thread Creation: A Myth Debunked appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java 21 is Available Today, And It’s Quite the Update

Today's the first day of Java 21's availability! It's been six months since Java 20 was released, so it's time for another fresh wave of Java features. The post Java 21 is Available Today, And It’s Quite the Update appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #28: Java 21 Has Arrived!

Since 2018, we get a new version of Java every 6 months. And version 21, released during today, is a long-term support version that can be used for many years. The post Foojay Podcast #28: Java 21 Has Arrived! appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Exposing your data using Spring GraphQL

How to expose your data using Spring GraphQL The post Exposing your data using Spring GraphQL appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

New User Interface for JFX Central, the Home for All JavaFX Information – Part 2

JFX Central is a not-for-profit team effort. Many people are involved, and any issue or pull request provided by anyone from the JavaFX community helps! The post New User Interface for JFX Central, the Home for All JavaFX Information – Part 2 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

New User Interface for JFX Central, the Home for All JavaFX Information – Part 1

JFX Central is the place to be for all JavaFX info. The website is a project started by Dirk Lemmermann and has been online since 2021. The post New User Interface for JFX Central, the Home for All JavaFX Information – Part 1 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year 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 | 1 year ago