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

Observing Java Applications Running via Docker Compose Using OpenTelemetry

An easy non-obtrusive way to collect data about your dockerized app without changing your existing docker-compose.yml or docker files. The post Observing Java Applications Running via Docker Compose Using OpenTelemetry appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Sealed Interfaces and Pattern Matching: A Quick Dive into Java’s Modern Capabilities

Sealed classes and interfaces, together with pattern matching, provide powerful new tools for more explicit, controlled, and flexible design in Java The post Sealed Interfaces and Pattern Matching: A Quick Dive into Java’s Modern Capabilities appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

We All Grow Older, But Do Our Projects Really Have To?

A brief introduction to modernizing your application using OpenRewrite, and other usecases such as migrations, static analysis fixes, and more. The post We All Grow Older, But Do Our Projects Really Have To? appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Starting Apache Kafka – Java Producer & Consumer (Windows 10)

Learn how to configure Kafka topics and create a Java-based Kafka Consumer and Producer, withApache Kafka v3.4 on Windows 10. The post Starting Apache Kafka – Java Producer & Consumer (Windows 10) appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book Review: “OpenJDK Migration for Dummies”

Not just a technical manual, Simon Ritter's new book is a companion on a journey through the complexities of OpenJDK migration. The post Book Review: “OpenJDK Migration for Dummies” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Reading the temperature, humidity, and pressure from a BME280 Sensor with Java, Pi4J, I2C, SPI, and JBang

In this tutorial, I want to show you how you can read the temperature, humidity, and pressure from a BME280 Sensor. The post Reading the temperature, humidity, and pressure from a BME280 Sensor with Java, Pi4J, I2C, SPI, and JBang appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Preparing for JDK 21: A Comprehensive Overview of Key Features and Enhancements

As we inch to the release of JDK 21 in September (next month!), get familiar with the features and improvements this version will bring! The post Preparing for JDK 21: A Comprehensive Overview of Key Features and Enhancements appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Inner Workings of Safepoints

Have you ever wondered how safepoints are implemented in the OpenJDK? Follow me down the rabbit hole into the inner workings of the JVM. The post The Inner Workings of Safepoints appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book Review: “Designing APIs with Swagger and OpenAPI”

This review is about Designing APIs with Swagger and OpenAPI by Joshua S. Ponelat and Lukas L. Rosenstock from Manning. The post Book Review: “Designing APIs with Swagger and OpenAPI” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book Announcement: “OpenJDK Migration Guide for Dummies”

Learn how to migrate to OpenJDK and get tips on how to select the right Java partner to assist with your migration and provide ongoing support, security updates, application tuning, cost reductions, and expertise. The post Book Announcement: “OpenJDK Migration Guide for Dummies” … | Continue reading


@foojay.io | 1 year ago

Java on Visual Studio Code – July 2023

In this article, we are going to provide you an exciting update about our improved decompiler functionality. Additionally, we are going to do a deep-dive into our code completion. The post Java on Visual Studio Code – July 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Starting Apache Kafka on Windows 10 (Kafka v3.4)

This is part one of a two part articles series on Running Apache Kafka Server, Configuring Kafka Topics, and Creating a Kafka Consumer, as also a Kafka Producer. The post Starting Apache Kafka on Windows 10 (Kafka v3.4) appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JavaFX Links of July 2023

Changes to the JavaFX core, new and enhanced applications, games, component libraries, tools, podcasts, videos, tutorials, and books! The post JavaFX Links of July 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Evaluating Apache APISIX vs. Spring Cloud Gateway

In this article, I'd like to share my understanding of Spring Cloud Gateway and how it compares to Apache APISIX. The post Evaluating Apache APISIX vs. Spring Cloud Gateway appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The IKEA Effect

On placing a (sometimes disproportionately) higher value on things that you've either made yourself, or to which you’ve contributed towards making. The post The IKEA Effect appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

When Speed Matters: Real-time Stream Processing with Hazelcast and Redpanda

Let's explore the powerful combination of Hazelcast and Redpanda to build high-performance, scalable, and fault-tolerant applications that react to real-time data. The post When Speed Matters: Real-time Stream Processing with Hazelcast and Redpanda appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Busting Myths, Building Futures: A Conversation with Cay Horstmann on Java and Machine Learning

In our ongoing series of interviews with the movers and shakers of the software world, we bring you a conversation with Cay Horstmann, a towering figure in the Java community and a respected academic and entrepreneur. Known for his prolific ... The post Busting Myths, Building Fu … | Continue reading


@foojay.io | 1 year ago

Getting Started With Apache Camel On Jakarta EE 10

Apache Camel is a Java library that allows for effortless integration of disparate systems using uniformed, readable and maintainable constructs. The post Getting Started With Apache Camel On Jakarta EE 10 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Building for Failure: Best Practices for Easy Production Debugging

Applications fail, that's inevitable. Testing, QA, CI and defensive programming can make this a rare occurrence, but can't eliminate failure. The post Building for Failure: Best Practices for Easy Production Debugging appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Build Rot: The Hidden Technical Debt in Maven and Gradle Builds

Explore the impact of Build Rot on build speed and test times, offering strategies for enhanced observability and Developer Productivity Engineering to optimize build processes. The post Build Rot: The Hidden Technical Debt in Maven and Gradle Builds appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

SnakeYaml 2.0: Solving the unsafe deserialization vulnerability

In December of last year, we reported CVE-2022-1471 to you. This unsafe deserialization problem could easily lead to arbitrary code execution. The post SnakeYaml 2.0: Solving the unsafe deserialization vulnerability appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

How We Developed the Eclipse OpenJ9 CRIU Support for Fast Java Startup

Java startup is a hot topic. Learn how we made Eclipse OpenJ9 start in milliseconds in the Cloud. The post How We Developed the Eclipse OpenJ9 CRIU Support for Fast Java Startup appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Contributing to Open Source Software: Creating a Pull Request

Let's take a look at contributing to Open Source Software, specifically how to create an open source pull request (PR). The post Contributing to Open Source Software: Creating a Pull Request appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JDK Safari: How To Find Hidden Tools in the JDK

One of my hobbies is regularly searching the JDK for new Java classes with executable main methods. The post JDK Safari: How To Find Hidden Tools in the JDK appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Dive into the OpenJDK: Top 10 Reads on Foojay.io

Foojay.io is a community platform dedicated to the needs of developers who use the OpenJDK and related technologies. The post Dive into the OpenJDK: Top 10 Reads on Foojay.io appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Effective Coding with Java Observability

What are examples of things that observability can tell you, right now, about your code and how can it help you improve it? We’ll look at concrete code examples to find out! The post Effective Coding with Java Observability appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

GraphQL, JavaScript, Preprocessor, SQL and more in Manifold

In the final installment of the Manifold series we discuss the final integrations, review the benefits, and discuss using it in a project. The post GraphQL, JavaScript, Preprocessor, SQL and more in Manifold appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Reactive Database Access on the JVM

Let's browse through the surface of the main three reactive database access: Spring Data R2DBC, Hibernate, and jOOQ! The post Reactive Database Access on the JVM appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

I could write a blog post, or …

Go out, visit the world, have friends, and read my blog post on flame-graph construction mid-next week. The post I could write a blog post, or … appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

How to Share Your Work With a Video or Podcast

Learn about the experiences of creating podcasts, but also more generally, how you can share your work in a video with a small (or bigger) budget. The post How to Share Your Work With a Video or Podcast appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Reactive Programming Made Easy

This article discusses essential features and tools in IntelliJ IDEA for Reactor developers. These include live templates, a dedicated debug mode, and a couple of inspections. We’ve got all of the project Reactor adepts and enthusiasts out there covered! Whether ... The post Reac … | Continue reading


@foojay.io | 1 year ago

Journeys in Java, Level 10: Service Discovery with Eureka

Eureka is a service discovery project that helps services interact with one another without hardwiring in instance-specific or environment-dependent details. The post Journeys in Java, Level 10: Service Discovery with Eureka appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Enterprise Java Application Development With Jakarta EE and Vaadin

Get an overview of the Vaadin framework and learn how to use it to build modern web applications on the Jakarta EE Platform in pure Java. The post Enterprise Java Application Development With Jakarta EE and Vaadin appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Charting the Course of Java: An Insightful Conversation with Java Champion, Sebastian Daschner

In this insightful interview, renowned Java Champion, Oracle Developer Champion, and JavaOne Rockstar, Sebastian Daschner, share his journey in the field of Java enterprise software development. With a vast array of experience from being a self-employed consultant, trainer, and a … | Continue reading


@foojay.io | 1 year ago

Dissection of Joeffice: Open Source Office Suite in Java

Let's explore libraries and framework used to write an office suite in Java. The post Dissection of Joeffice: Open Source Office Suite in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java on Visual Studio Code – June 2023

Hi everyone, welcome to the our June update for Visual Studio Code for Java! The post Java on Visual Studio Code – June 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Sticky sessions with Apache APISIX – the demo

Learn how to setup sticky sessions with Apache APISIX and replication involving the Spring ecosystem and Hazelcast. The post Sticky sessions with Apache APISIX – the demo appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Sticky sessions with Apache APISIX

Learn about sticky sessions, and that you should always use session replication with sticky sessions, and how to implement sticky sessions on Apache APISIX. The post Sticky sessions with Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Evolution of Java: Challenging Stereotypes and Embracing Modernity

Dive into the modern evolution of Java, challenging stereotypes and showcasing its transformative features. Discover how Java is becoming more versatile, expressive, and future-ready than ever before. The post The Evolution of Java: Challenging Stereotypes and Embracing Modernity … | Continue reading


@foojay.io | 1 year ago

Understanding Security Vulnerabilities: A First Step in Preventing Attacks

When I was a teenager, our local telephone company introduced a new service - the premium phone calls (AKA 1-900 numbers). The fun part was that we discovered a workaround to these charges by dialing the sequential local numbers which ... The post Understanding Security Vulnerabi … | Continue reading


@foojay.io | 1 year ago

Billions of Messages Per Minute Over TCP/IP

Chronicle Wire has had new features added to permit communication with other components across a TCP/IP network. The post Billions of Messages Per Minute Over TCP/IP appeared first on foojay. | Continue reading


@foojay.io | 1 year ago