Here’s Java 25, Ready to Perform to the Limit

Table of Contents JEP OverviewNew featuresCore LibsHotSpotSecurity LibsJava Flight RecorderRepreviews and FinalizationsJEP 505: Structured Concurrency (Fifth Preview)JEP 506: Scoped ValuesJEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)JEP 508: Vector … | Continue reading


@foojay.io | 1 month ago

Research: Measuring Energy Consumption in Programming Languages for AI Applications

Decades ago, I contributed to a very interesting project called SunSPOT at SUN Microsystems. It was a small device with wireless connectivity, built-in sensors, running on Java (compatible with runtime 1.6), and powered by battery. It enabled the design of ... The post Research: … | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #78: Welcome to OpenJDK 25!

Table of Contents VideoPodcast (Audio Only)GuestsContent We're excited to present the first episode of the Foojay Podcast's fifth season, marking the release of OpenJDK 25! For the first time, an OpenJDK release is aligned with the year, and we can ... The post Foojay Podcast #78 … | Continue reading


@foojay.io | 1 month ago

MongoDB Schemas in Java

Table of Contents Why MongoDB and Java are such good friendsThe missing schema of loosely typed systems Bringing schema back Example: Spring Boot sea temperature service Sea temperatures Weather reports Schemas Tip—BSON IDs and the _id field Traps—record definitions for POJO code … | Continue reading


@foojay.io | 2 months ago

Stochastic AI Agility: Breaking Cycles of Debt

The launch of ChatGPT in November 2022 has influenced and perhaps even changed the rules of the game in many areas. Although I personally focus on the IT industry, observations suggest that it is affecting the entire industry, including the ... The post Stochastic AI Agility: Bre … | Continue reading


@foojay.io | 2 months ago

JetBrains and Azul Collaborate on Kotlin Performance in Various JVMs

Table of Contents Benchmarking Kotlin performance on Azul Platform Prime What’s next for JetBrains and Azul?  JetBrains and Azul are collaborating on a shared vision of running Kotlin-generated bytecode on a high-performance Java platform to find new ways to enhance runtime perfo … | Continue reading


@foojay.io | 2 months ago

Building REST APIs in Java with Spring Boot

Table of Contents How can Spring help?PrerequisitesCreating our appConnecting our databaseOur Book modelBook repositoryOur REST controllerCreateReadUpdateDeleteAdding DTOs and validationBookRequestBookResponseUpdating the controllerTesting the APIRun the APICreateReadUpdateDelete … | Continue reading


@foojay.io | 2 months ago

Spec-Driven Development with AI: A New Approach and a Journey into the Past

Table of Contents The Problem with Code-Centric DevelopmentRequirements as the Single Source of TruthThe Complete WorkflowEverything is Code, Everything is VersionedAI as the Consistency EngineThe Structure: Independent EpicsA Real Example: System Use Case SpecificationThe Result … | Continue reading


@foojay.io | 2 months ago

MongoDB Aggregations: Organizing Recipes by Meal Type with $group

Table of Contents Why Use $group for Organizing Recipes?Setting Up the DataUsing $group to Organize Recipes by TypeStep 1: Grouping Recipes by TypeStep 2: Including Recipe Details in Each GroupGrouping Recipes by TagsStep 1: Using $unwind to Break Down TagsAdvanced ... The post M … | Continue reading


@foojay.io | 2 months ago

KCDC 2025

Table of Contents The talks Home Lab - Private Cloud on a budget Loom is more than virtual threads: Structured Concurrency and Scoped Values 15 Productivity tips to accelerate your Apache Maven builds Take the Polar Plunge: A Fearless Introduction ... The post KCDC 2025 appeared … | Continue reading


@foojay.io | 2 months ago

JC-AI Newsletter #4

Table of Contents Previous: 14 days have passed and it's time for a new batch of readings that could shape developments in the field of artificial intelligence. The current newsletter vol. 4 offers us a closer look at several different ... The post JC-AI Newsletter #4 appeared fi … | Continue reading


@foojay.io | 2 months ago

Queryable Encryption With Spring Data MongoDB: How to Query Encrypted Fields

Table of Contents Why Queryable Encryption?A quick look at Spring Data MongoDBUse case: HR system with encrypted fieldsSetting up the projectConfiguring dependencies and propertiesAdding mongodb-cryptApplication.yml configurationAccessing properties in the codeBuilding the applic … | Continue reading


@foojay.io | 2 months ago

AI4Devs Schedule Published

Table of Contents 📅 Event Details🔎 A Program for Every Developer🎤 Meet the Speakers & Sessions🌟 Why This Year is Special🔗 Join Us 🚀 The AI4Devs Amsterdam 2025 Schedule is Live! The wait is over—AI4Devs Amsterdam has just published i … | Continue reading


@foojay.io | 2 months ago

JavaFX Links of August 2025

Table of Contents CoreApplicationsGamesComponents, Libraries, ToolsPodcasts, Videos, BooksTutorialsMiscellaneousJFX Central Here are the links shared on jfx-central.com in the August summary. Did we miss anything? Is there anything you want to have included in one of the next ove … | Continue reading


@foojay.io | 2 months ago

Boosting Kafka Latency Performance by 3x with Zing JVM and AutoMQ

Table of Contents Why is Latency so Important to Kafka?Introduction of AutoMQIntroducing Azul Zing Builds of OpenJDKPerformance Test & ExplanationTest Environment ConfigurationLatency: Taming the TailCPU Utilization: Do More with LessFuture Outlook Why is Latency so Important to … | Continue reading


@foojay.io | 2 months ago

Taking Java Arrays to Another Dimension

Table of Contents What is a multidimensional array in Java?Declaring a multidimensional arrayMixing Bracket PositionsCreating a multidimensional arrayDefault values in arraysUnderstanding jagged arraysUnderstanding JVM bytecodes for array creationBytecode for arrays of primitives … | Continue reading


@foojay.io | 2 months ago

What happens when a Primary fails in a MongoDB replica set? Automatic failovers?

In distributed systems, high availability is not a luxury—it's a necessity. And one of the very important parts of that is automatic failovers. What are automatic failovers and how do they work? Let's see today! These concepts are actually similar ... The post What happens when a … | Continue reading


@foojay.io | 2 months ago

GitHub workflows tips and tricks

Table of Contents What are GitHub workflows?GitHub ActionsChoosing the right ActionKnow your ActionsPin your dependency versionUse the job summaryUnderstand workflows' lifecycleTest locallySummary I've quite a lengthy experience with GitHub workflows, but not up to the point wher … | Continue reading


@foojay.io | 2 months ago

Git default options

Table of Contents git pushgit rebase Git has become a fundamental part of our developers' daily routine that it's hard to remember our lives without it. And yet, most of us use a limited set of commands and options. Today, ... The post Git default options appeared first on foojay … | Continue reading


@foojay.io | 2 months ago

AI Gives Time, Not Confidence: Developer Productivity Toolkit

Let's be real – keeping up with the pace of software development today is intense. New frameworks pop up and the push for faster, better, and more secure code never stops. This article is all about cutting through the buzz and looking ... The post AI Gives Time, Not Confidence: D … | Continue reading


@foojay.io | 2 months ago

Managing MongoDB Database Changes Using Liquibase Pro

Table of Contents What is Liquibase?What is MongoDB?Setting up a local MongoDB instance on WindowsUse Liquibase with MongoDBPrerequisitesInstall supporting driversConnection configurationConnection testHands-on execution steps detailed1. Create project and add files2. Project str … | Continue reading


@foojay.io | 2 months ago

JC-AI Newsletter #3

The first and second newsletters introduced a 14-day cadence, and even though it is the holiday season for many of us, we are sticking to the promised period. The current newsletter vol.3, brings a collection of valuable articles focusing on ... The post JC-AI Newsletter #3 appea … | Continue reading


@foojay.io | 2 months ago

New Java Benchmark for Coding LLMs puts GPT-5 at the top

Table of Contents GPT-5 is on top at every performance level and every price point… but it’s no speed demonPerformance by task lengthOther observationsImplications for buildersA Note on Reasoning Introducing the Brokk Power Ranking The Brokk Power Ranking is a ... The post New Ja … | Continue reading


@foojay.io | 2 months ago

OpenTelemetry configuration gotchas

Table of Contents The promise of OpenTelemetryGotchasPath or no path?Python loggingMicrometer TracingQuarkusSummary Last week, I described several approaches to OpenTelemetry on the JVM, their requirements, and their different results. This week, I want to highlight several gotch … | Continue reading


@foojay.io | 2 months ago

OpenTelemetry Tracing on the JVM

Table of Contents CommonalitiesRunning the OpenTelemetry AgentMicrometer Tracing on Spring BootOpenTelemetry Spring Boot StarterQuarkusDiscussion You may know I'm a big fan of OpenTelemetry. I recently finished developing a master class for the YOW! conference at the end of the y … | Continue reading


@foojay.io | 2 months ago

Domain-Driven Design in Java: A Practical Guide

Table of Contents Understanding the “Airport” domainModeling the core Airport domain in JavaIdentifying aggregates and entitiesImplementing entities and value objectsBounded contexts and modularizationRepositories, domain services, and factoriesRepositoriesDomain servicesFactorie … | Continue reading


@foojay.io | 2 months ago

Enforcing Governance in MongoDB Atlas with Resource Policies

Table of Contents What Are Resource Policies?Why Use Them?Available CapabilitiesApplying Resource Policies with Terraform🔐 Example 1: Allow clusters only on AWS🌐 Example 2: Block public IPs (0.0.0.0/0)🔒 Example 3: Enforce TLS 1.2 or higherValidation and Te … | Continue reading


@foojay.io | 2 months ago

Do we understand the value of AI knowledge ?

Table of Contents I remember the first time I saw a diagram of a neuron (Img.1.). I was a school kid, and among other hobbies, I was interested in the human brain, it fascinated me. I borrowed a book from ... The post Do we understand the value of AI knowledge ? appeared first on … | Continue reading


@foojay.io | 3 months ago

Preparing for Spring Framework 7 and Spring Boot 4

Table of Contents 1. Built-in Resilience Feature2. Fluent JMS Client API3. Robust Api Versioning4. Unified Message Conversion5. Faster and Smarter Testing6. Modern Ecosystem Integration7. Hibernate ORM and JPA Upgrades8. Overhauled HttpHeaders API9. Support for Jackson 3.x10. Nul … | Continue reading


@foojay.io | 3 months ago

New Features in Jakarta EE 11, with Examples

Table of Contents Jakarta EE 11 is a major update in the enterprise Java world. It offers key changes that enhance developer productivity and modernize the platform.Key Features of Jakarta EE 11Jakarta Data: Simplified Data AccessWhat is Jakarta Data?Jakarta Data Code ExamplesUpd … | Continue reading


@foojay.io | 3 months ago

Semantic Caching with SpringBoot & Redis

Table of Contents 0. GitHub Repository1. Add the required dependencies2. Configure the Semantic Cache Vector Store3. Implement the Semantic Caching Service4. Integrate with the RAG ServiceStep 1: Clone the repositoryStep 2: Configure your environmentStep 3: Start the servicesStep … | Continue reading


@foojay.io | 3 months ago

Pattern-matching across different languages

Table of Contents Java's pattern matchingCharacteristics of the new switch syntaxScala's pattern matchingKotlin's pattern matchingPython's pattern matchingRust's pattern matchingConclusion Pattern matching is a major feature in software development. While pattern matching applies … | Continue reading


@foojay.io | 3 months ago

Run an Atlas Cluster Locally in Minutes

Run an Atlas cluster locally in minutes You no longer need a cloud account to try MongoDB Atlas features. Spin up a fully compatible local cluster in seconds, with no login, no credit card, and no friction. 🕒 Reading time: ... The post Run an Atlas Cluster Locally in Minu … | Continue reading


@foojay.io | 3 months ago

JC-AI Newsletter #2

Table of Contents In the first newsletter, we introduced a 14-day cadence, which means that this week it's time for a new collection of articles from the fields of AI, LLM, Java and more.article: OpenAI CEO Sam Altman warns of ... The post JC-AI Newsletter #2 appeared first on fo … | Continue reading


@foojay.io | 3 months ago

Release V0.0.2 of Java DMX512 Library With Universes and USB-to-DMX support

Table of Contents Introduction of DMX UniversesUSB-to-DMX SupportDMX512 Java LibraryDMX512 JavaFX Demo ProjectNext Steps Earlier this month, I released V0.0.1 of my new Java library to interact with DMX512 devices using (optionally) the Open Fixture Library (OFL). After some more … | Continue reading


@foojay.io | 3 months ago

🧱 Monolith or 🧩 Microservices in 2025?

Monolith vs Microservices in 2025. Discover trends, trade-offs, and why simplicity and DX matter more than ever. The post 🧱 Monolith or 🧩 Microservices in 2025? appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Why Java is Still Worth Learning in 2025: A Developer’s 25-Year Journey

After dismissing Java for eight years as a "passing trend for developers who couldn't handle real programming," one developer's 25-year journey reveals how Java evolved from a language he distrusted to the foundation of his career, and why he believes it's still one of the most v … | Continue reading


@foojay.io | 3 months ago

JavaFX Links of July 2025

Table of Contents CoreApplicationsGamesComponents, Libraries, ToolsPodcasts, Videos, BooksConferences, PresentationsTutorialsMiscellaneousJFX Central Here is the overview of the JavaFX LinksOfTheMonth of July 2025. You can find the weekly lists on jfx-central.com. Did we miss any … | Continue reading


@foojay.io | 3 months ago

Java, What’s Old? Part II: Utils

Table of Contents ObjectsvolatileLocaleCollatorNormalizer After Java, What's Old? Part I - Collections, let's now have a look at less known old utility classes that can still be useful. Everything in this series will be in Java 8 and later, so ... The post Java, What’s Old? Part … | Continue reading


@foojay.io | 3 months ago

Building Robust AI Applications with LangChain4j Guardrails and Spring Boot

Table of Contents Understanding LangChain4j GuardrailsSetting Up a Spring Boot Project with LangChain4jImplementing Input GuardrailsContent Safety Input GuardrailSmart Context-Aware GuardrailIntelligent Input SanitizerImplementing Output GuardrailsProfessional Tone Output Guardra … | Continue reading


@foojay.io | 3 months ago

Why Mirroring Production in Dev Helps You Avoid Costly Mistakes

Table of Contents The setup: A realistic aggregation scenarioThe application behind the testTesting on M0: The hidden riskTaking it to production: Same query, different outcomeReal-time metrics: Detecting the bottleneckQuery insights: The detective toolDon’t guess, let Performanc … | Continue reading


@foojay.io | 3 months ago

CodeRabbit Tutorial for Java Developers

Table of Contents Getting StartedPrerequisitesSetup ProcessCore Features for Java Development1. Code Quality Analysis2. Security Vulnerability Detection3. Performance Optimization Suggestions4. Design Pattern RecognitionWorking with CodeRabbit ReviewsUnderstanding Review Comments … | Continue reading


@foojay.io | 3 months ago

Foojay Podcast #77: DevBcn Report, Part 2 – Spanish Knowledge Sharing

Table of Contents VideoPodcast (Audio only)Content This is the first Foojay podcast in Spanish. It's also the shortest one and the final of season 4 😉 Jonathan Vila "highjacked" the microphone from Geertjan Wielenga (See episode 76) during the DevBcn ... The post Foojay P … | Continue reading


@foojay.io | 3 months ago

Introducing a New Java DMX512 Library With Demo JavaFX User Interface

Table of Contents A Personal StoryAbout DMX512 and OFLWhat is DMX512What is Open Fixture LibraryDMX512 Java LibraryMy Test SetupMinimal Code ExampleUsing Fixtures and ModesDetecting USB-to-DMX and IP-to-DMX interfacesDMX512 JavaFX Demo ProjectNext Steps In this post, I would like … | Continue reading


@foojay.io | 3 months ago

Agent Memory with Spring AI & Redis

Table of Contents You're building an AI agent with memory using Spring AI and Redis. Unlike traditional chatbots that forget previous interactions, memory-enabled agents can recall past conversations and facts. It works by storing two types of memory in Redis: ... The post Agent … | Continue reading


@foojay.io | 3 months ago

Java 22 to 24: Level up your Java Code by embracing new features in a safe way

Table of Contents Java introduces several new language features in the 22 to 24 versions which collectively simplify code, enhance documentation, and provide powerful tools for bytecode manipulation and advanced stream processing. This article shows you how to leverage these ... … | Continue reading


@foojay.io | 3 months ago

MongoDB ACID Transactions With Java

Table of Contents What are MongoDB ACID transactions and when should you use them?But do you really need a transaction?Transaction APIs: Callback vs coreWhen to use the callback APIWhen to use the core APISetting up: A simple banking examplePrerequisitesConnecting and ... The pos … | Continue reading


@foojay.io | 3 months ago

AI Newsletter #1

Table of Contents There is a lot going on in today's technological world, but the most intense and vibrant area is undoubtedly the field of artificial intelligence. After brainstorming, our Java Champion Education group agreed to create a newsletter with ... The post AI Newslette … | Continue reading


@foojay.io | 3 months ago