Everything Bad in Java is Good for You

I love the premise of disrupting the conventional narrative and was reminded of that constantly when debating some of the more controversial features and problems in Java. It’s a feature, not a bug… The post Everything Bad in Java is Good for You appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Elevating Java Development in Visual Studio Code: Experience the New Build Server for Gradle

Microsoft and Gradle Enterprise have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). The post Elevating Java Development in Visual Studio Code: Experience the New Build Server for Gradle appeared first on … | Continue reading


@foojay.io | 1 year ago

Patterns For The Design Of Microservices – Part 2

Design patterns plays a pivotal role in designing and solving the commonly occurring problems in software application. The post Patterns For The Design Of Microservices – Part 2 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book review: “Persistence Best Practices for Java Applications”

I can heartily recommend this book, it offers a lot of valuable insights into persistence in Cloud computing, the involved technologies, and technical and architectural considerations by two developers with years of experience. The post Book review: “Persistence Best Practices fo … | Continue reading


@foojay.io | 1 year ago

JDWP, onthrow and a mysterious error

Collaborating with other people from different companies in an Open-Source project is great. The post JDWP, onthrow and a mysterious error appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Navigating Behaviour with Events

The practices of Event-Driven Architecture and Behaviour-Driven Development have more in common than may at first be apparent. The post Navigating Behaviour with Events appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java 21 – JEP 445 – Unnamed Classes and Instance Main Methods

The goal of JEP 445 is to make it easier to get started with Java, as it’s all about reducing the number of keywords when you write, for instance, your very first HelloWorld Java code. The post Java 21 – JEP 445 – Unnamed Classes and Instance Main Methods appeared first on foojay … | Continue reading


@foojay.io | 1 year ago

Payara Makes a Splash at Devoxx Belgium 2023

As representatives of Payara, a sponsor of the conference, we had the privilege of attending this year's gathering, which took place at the iconic Kinepolis Antwerpen Cinema. The post Payara Makes a Splash at Devoxx Belgium 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Resizing images on-the-fly

How to use Apache APISIX with imgproxy to reduce the storage cost of images in multiple resolutions. The post Resizing images on-the-fly appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Start using Java 21 in your apps on Open Liberty 23.0.0.10

Java 21 is finally here! Java 21 is the first long-term support (LTS) release since Java 17 was released two years ago. And you can try it all out now on Open Liberty 23.0.0.10. The post Start using Java 21 in your apps on Open Liberty 23.0.0.10 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book review: “Developing Apps with GPT-4 and ChatGPT”

Thorough, practical examples using a new & rapidly evolving tool. Pro or contra, it's a very worthwhile read. The post Book review: “Developing Apps with GPT-4 and ChatGPT” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Domain-Deadline-Dog-Driven Development

Many Something-Driven Developments are available nowadays! Which are your favorites and are you going to introduce to your company or team? The post Domain-Deadline-Dog-Driven Development appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Not a Single Trace

Observability is an orchestra, not a single instrument. By combining multiple data points we form an accurate production narrative. The post Not a Single Trace appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Beyond Pass/Fail- a Modern Approach to Java Integration Testing

Tests can run limited sets of assertions on your code, or reveal important insights about how your application really works! The post Beyond Pass/Fail- a Modern Approach to Java Integration Testing appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

New: JDKMonitor

A widget on your MacOS desktop that shows the days until the next release/update of OpenJDK, and more. The post New: JDKMonitor appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Files in JDK 21

As Java developers, we all have it installed on our computer: the Java Development Kit, also known as the JDK. In this article, we'll explore the files of the JDK. The post The Files in JDK 21 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Level-up your Java Debugging Skills with on-demand Debugging

Learn about onthrow and onjcmd and more that can improve the performance of on-demand debugging, as this allows us to trigger the start of the debugging session from outside the debugger. The post Level-up your Java Debugging Skills with on-demand Debugging appeared first on fooj … | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #31: Report of Devoxx ’23 in Belgium

The first week of October, the 20th edition of Devoxx took place in Antwerp, Belgium. I got the opportunity to walk around with a microphone and talk to visitors and speakers! The post Foojay Podcast #31: Report of Devoxx ’23 in Belgium appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book review: “Get Your Hands Dirty on Clean Architecture – Second Edition”

A magnificent job of walking through a lot the different architectural considerations one has to make to develop maintainable code. The post Book review: “Get Your Hands Dirty on Clean Architecture – Second Edition” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

FEPCOS-J (2) – Declaratively compose networked systems in Java

Compose networked systems like building blocks. An example illustrates how a Java developer can do this by using FEPCOS-J. Read more. The post FEPCOS-J (2) – Declaratively compose networked systems in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

State of the Software Supply Chain Report: Key Takeaways for Java Developers

Software Supply Chains and Open Source Maven Central hits 1 Trillion downloads Open source adoption continues to grow, with Java (Maven) being a significant ecosystem. The report indicates that Java projects and their versions have seen substantial growth. a 28% ... The post Stat … | Continue reading


@foojay.io | 1 year ago

Send Your Logs To Loki

Loki, a storage engine, provides a RESTful API to store and read logs. Let's push a log from a Java app. The post Send Your Logs To Loki appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Changes Included in the Stable release 23.08 of Azul Zulu Prime Builds of OpenJDK

The new Stable Azul Zulu Prime Build of OpenJDK brings many improvements and fixes to bring a more performant and secure runtime to your environment. The post Changes Included in the Stable release 23.08 of Azul Zulu Prime Builds of OpenJDK appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution

In the context of virtual threads, pinning refers to the condition where a virtual thread is "stuck" to its carrier thread (the platform thread on which it runs). The post How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Debugging Tips and Tricks: A Comprehensive Guide

Debugging is an integral part of software development. Here's a comprehensive guide to some core debugging tips and tricks. The post Debugging Tips and Tricks: A Comprehensive Guide appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java 21 and the Upcoming Jakarta EE 11: A New Era of Cloud Native Java

While Java 21 is already bringing transformative features to the table, the upcoming release of Jakarta EE 11 is expected to further elevate the state of cloud native Java development. The post Java 21 and the Upcoming Jakarta EE 11: A New Era of Cloud Native Java appeared first … | Continue reading


@foojay.io | 1 year ago

OpenJDK Migration Book Review

The post OpenJDK Migration Book Review appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

How to Participate in the Foojay Community Certification Project

Read how you can help create a community certification for Java Developers as part of the Foojay community The post How to Participate in the Foojay Community Certification Project appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Spring Boot and React in Harmony

Navigating the complexities of full-stack development in Spring Boot and React can be complex. This article highlighted how Hilla can alleviate many of these challenges. The post Spring Boot and React in Harmony appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Contributing to Open Source: Hacktoberfest

Have you ever considered contributing to open source software, but are you unsure on how to start? Consider participating in Hacktoberfest. The post Contributing to Open Source: Hacktoberfest appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JVector 1.0

JVector is a pure Java embedded vector search engine that powers DataStax Astra and is being added to Apache Cassandra. The post JVector 1.0 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Report of My Trip to JavaZone and Northern Germany

Between 2nd and 17th September, I gave three talks in three different cities! The post Report of My Trip to JavaZone and Northern Germany appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #30: UtrechtJUG

Not just mic, but also camera, in the 30th Foojay podcast, focused on Utrecht JUG! The post Foojay Podcast #30: UtrechtJUG appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JavaFX Links of September 2023

Here is the overview of the JavaFX LinksOfTheWeek that got published on jfx-central.com during September. The post JavaFX Links of September 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Web Crawling in Java: A Tale of Classical Threads and Virtual Threads

A compelling narrative around web crawling in Java, contrasting classical threads with their newer counterpart: virtual threads. The post Web Crawling in Java: A Tale of Classical Threads and Virtual Threads appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

C2 Might Be Slowing Down Your Builds

Disabling C2 can be an option to speed up builds of smaller Java applications in CI systems, mainly when restricted to one or two CPU cores. The post C2 Might Be Slowing Down Your Builds appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Systemic Process of Debugging

A structured approach to debugging, combined with effective communication and a robust testing strategy, can significantly enhance the efficiency and quality of software development. The post The Systemic Process of Debugging appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Memory Management in Java: An Introduction

Understanding memory management in Java, and particularly the role of object allocation is essential when optimising system performance. The post Memory Management in Java: An Introduction appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Down the Rabbit Hole of an Apache APISIX Plugin

Let's check the parameters of the _M.access(conf, ctx) function in an Apache APISIX plugin, especially the ctx one. The post Down the Rabbit Hole of an Apache APISIX Plugin appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

How Software Companies Give Away Stuff for Free

There are many different ways to give away stuff for free and in this article I try and explain the main approaches that software companies use and the reasoning behind these methods. The post How Software Companies Give Away Stuff for Free appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Visit Azul at Devoxx

As a sponsor of the largest Java developer community conference in Europe, the Azul team is excited to be back and looking forward to meeting with you in person! The post Visit Azul at Devoxx appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #29: How will AI and ML Influence the Role of Developers?

Every conference has several talks about these technologies, and on Foojay, you can find multiple posts about it. Let's take a look at it from the Java point of view. The post Foojay Podcast #29: How will AI and ML Influence the Role of Developers? appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Book Review: Get Your Hands Dirty on Clean Architecture

A valuable addition to the library of any software developer aiming to create maintainable, scalable, and clean code! The post Book Review: Get Your Hands Dirty on Clean Architecture appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Mastering the Challenges of OpenJDK Migration.

If you're in a Java-centric role and need to confront the ever-evolving JDK landscape, Simon Ritter's book is the lighthouse guiding you safely to shore. The post Mastering the Challenges of OpenJDK Migration. appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Eliminating Bugs Using the Tong Motion Approach

Delve into a two-pronged strategy that streamlines debugging, enabling developers to swiftly pinpoint and resolve elusive software glitches. The post Eliminating Bugs Using the Tong Motion Approach appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

New FXComponents Library Released

A new library for Java / JavaFX has just been released. The library’s name is FXComponents and it is a Java library that contains a collection of new controls to be used in JavaFX applications. The post New FXComponents Library Released appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Using JLink to create smaller Docker images for your Spring Boot Java application

An in-depth exploration of utilizing JLink to optimize Docker image sizes, enhancing application security and performance. The post Using JLink to create smaller Docker images for your Spring Boot Java application appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Monkey-patching in Java

Monkey patching is a technique used to dynamically update the behavior of a piece of code at run-time. The post Monkey-patching in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago