Spring AI: How to Write GenAI Applications with Java

Generative AI (GenAI) is currently a hot topic in the tech world. It’s a subset of artificial intelligence that focuses on creating new content, such as text, images, or music. One popular type of GenAI component is the Large Language Model (LLM), which can generate human-like text based on a prompt. Retrieval-Augmented Generation (RAG) is a technique that enhances the …

Read More »

Duplicate Finder for Documentation

Anyone who worked on technical documentation in a big team is certainly aware of the content duplication issue. Even with the best tools and practices at hand, duplication is fundamentally difficult to overcome. As the project grows in size, duplicated content will start to occur. This is especially true for big projects including many similar products or features. Good: define …

Read More »

Is your Java application ready for the next generation of server CPUs?

If you only know about Arm CPU architecture from working on smartphones or Raspberry Pi devices, it might come as a surprise to you that there are also high-performance, cloud-scale Arm CPUs already on the Java market. The share of cloud and server workloads running on Arm is increasing every year. Back in 2011, Arm released the AArch64 instruction set, …

Read More »

Let’s Replace the synchronized Keyword

Let’s see in this article different ways to replace the synchronized keyword to make our code more virtual threads friendly. Lines of code of the different solutions discussed in this article Synchronized and pinning threads Since Java 21, we can enjoy virtual threads and have more than 1 million threads in Java.But it has a condition, the virtual thread shouldn’t …

Read More »

Why This JCON Europe Talk Is Unmissable (Part 2)

JCON Europe in Cologne is around the corner (and here are your free Foojay JCON tickets), May 13 to 16. Why should you go? Well, one reason is that the talks will be awesome. Here’s the start of a series of reasons why some of them are absolutely unmissable! Jakarta EE 11 – Performance and Developer Productivity – Ivar Grimstad Thursday, …

Read More »

Foojay Podcast #48: JUG Oberpfalz, JCON Conference, and JAVAPRO Magazine

Once a month, in the Foojay Podcast, we discuss the history of a Java User Group and the people behind it. In this episode, we are in Oberpfalz, Germany, for a particular reason; the organizers of the local JUG are the same people responsible for the JCON conference in Cologne in a few weeks. Let’s also learn more about this …

Read More »

Writting a Data Orchestrator in Java

A data orchestrator is a platform to schedule, organize, and monitor data-oriented workflow. A workflow is a set of tasks, most data orchestrators come with built-in tasks for a wide range of technologies and provide support for custom processing via a scripting language. A data orchestrator can have multiple types of triggers to start a workflow. Most Data orchestrators are …

Read More »

Crowd-Publishing the 10x Java Dev Book

Java transformed the world of software development as we know it and continues to evolve as a platform and language. Nevertheless, the “enlightenment roadmap” of a Java developer can be scary. How do you become the 10x Java Developer you always dreamed of becoming? That’s the question Steve Poole and Olimpiu Pop embarked on to respond. And, what better way …

Read More »

Five ways to pass parameters to Apache APISIX

I recently read 6 Ways To Pass Parameters to Spring REST API. Though the title is a bit misleading, as it’s unrelated to REST, it does an excellent job listing all ways to send parameters to a Spring application. I want to do the same for Apache APISIX; it’s beneficial when you write a custom plugin. General setup The general …

Read More »