Hidden and Not-So-Hidden Gems In Java 20

Let’s see the preview and incubator JEPs in Java 20, as well as many smaller enhancements, bug fixes, and deprecations. March 2023 marked the latest feature release of the Java platform, which was delivered on time through the six-month release cadence as Java 20. Like Java 19, which became generally available in September 2022, Java 20 targeted JEPs—seven, in this …

Read More »

Timefold Forks OptaPlanner: Open Source Solver in Java

OptaPlanner is an Open Source project used globally to optimize operational planning. Every day, it saves thousands of organizations time, money and resources. Today, OptaPlanner is entering a new chapter. The project I created and worked on for seventeen years has matured under Red Hat’s wings for the past ten years. Last year, when Red Hat’s strategy changed, it became …

Read More »

Leverage the Richness of HTTP Status Codes

If you’re not a REST expert, you probably use the same HTTP codes over and over in your responses, mostly 200, 404, and 500. If using authentication, you might perhaps add 401 and 403; if using redirects 301 and 302, that might be all. But the range of possible status codes is much broader than that and can improve semantics …

Read More »

Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career

Once a month, the Foojay Podcast virtually visits a JUG to talk with the people behind it. SouJava, the Brazil JUG, was founded in 1999, and according to Wikipedia, is recognized as the world’s largest Java User Group with 40,000 members. There’s a lot we can learn from the people who have achieved this! Guests Otavio Santana https://twitter.com/otaviojava https://www.linkedin.com/in/otaviojava/ https://www.youtube.com/@otaviojava …

Read More »

JavaFX Links of April 2023

JavaFX Core Gluon announced JavaFX update releases: 20.0.1 (latest release), 17.0.7 (latest LTS), and for Gluon LTS customers 11.0.19. In this video with Kevin Rushforth he talks about JavaFX 20 and beyond. Dirk Lemmermann tweeted some of the highlights like RichTextArea, ideas for future releases,… The Notebook demo is looking really nice to learn JavaFX in an easy way. Conferences …

Read More »

The Basis of Virtual Threads: Continuations

Virtual threads are lightweight implementations of java.lang.Thread and they promise to write highly scalable concurrent applications. This article turns the spotlight on the Continuations that are the basis of Virtual threads. Project Loom has been the focus of attention in the Java community since the day it was announced. Java developers were excited by Loom’s promise that, with virtual threads, …

Read More »

Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice

We pit a seasoned Java developer against the all-knowing generative AI to find out once and for all: Can an AI generate a Java microservice end-to-end? There’s a lot of buzz around Generative AI tools for code generation. It’s no secret that the future of developer productivity goes alongside tools such as GitHub Copilot and OpenAI’s ChatGPT to enable us, developers, to produce code …

Read More »

Creating Scalable OpenAI GPT Applications in Java

One of the more notable aspects of ChatGPT is its engine, which not only powers the web-based chatbot but can also be integrated into your Java applications. Whether you prefer reading or watching, let’s review how to start using the OpenAI GPT engine in your Java projects in a scalable way, by sending prompts to the engine only when necessary: …

Read More »

Comparing Approaches to Durability in Low Latency Messaging Queues

A significant feature of Chronicle Queue Enterprise is support for TCP replication across multiple servers to ensure high availability of application infrastructure. I have generally held the view that replicating data to a secondary system is faster than sync-ing to disk, assuming the round trip network delay wasn’t high due to quality networks and co-located redundant servers. This is the …

Read More »

FEPCOS-J (1) – Description, Impressions of Usage, Current State

Abstract: FEPCOS-J has arisen in the context of my work in the field of robot sensor networks. It implements a Java-language extension that frees a Java developer from network programming and supports cross-system concurrency. This post gives you an impression of using FEPCOS-J based on a simple example. So far, FEPCOS-J is a prototype with 1629 lines of Java-code. I …

Read More »