Quantcast
Channel: Java Archives - Java Code Geeks
Browsing index pages (1328 articles)
↧

Structured Concurrency in Practice: ExecutorService vs StructuredTaskScope

Most Java concurrency bugs show up when something goes wrong, not when everything works. So let’s break one subtask on purpose and watch what each approach does about it. A Quick Status Check First, a...

View Article


Project Leyden: Faster Java Startup Without GraalVM’s Pain, and What You Give Up

Java startup has long been the price of a smart runtime. GraalVM Native Image fixed it by replacing the JVM, but that fix came with strings attached. Project Leyden takes a gentler road. So what...

View Article


Exploring HTTP/3 Support in Java 26’s HTTP Client API

Java 26 adds HTTP/3 support to the standard java.net.http.HttpClient API. This allows Java applications to communicate with HTTP/3-enabled servers without requiring a third-party HTTP client library....

View Article

Understanding the @Find Annotation in Hibernate

Hibernate provides several annotations to simplify database operations when working with Java entities. The @Find annotation is often searched for in the context of retrieving entities, but it is...

View Article

Resolving Jackson Deserialization Creator Exception

Jackson is commonly used in Java applications to convert JSON into Java objects. This process is called deserialization. A common exception during deserialization is: Cannot deserialize from Object...

View Article


Let It Crash vs. Try-Catch: Erlang/BEAM Supervision Trees Against Java’s...

There’s a moment every Java developer has lived through: staring at a stack trace at 2 a.m., trying to figure out whether to catch this exception, wrap it, rethrow it, or just let the whole request...

View Article

Exploring the Agent2Agent (A2A) Protocol with Spring AI

AI applications are rapidly moving from single-model applications toward systems composed of multiple specialized agents. One agent may specialize in weather information, another in travel planning,...

View Article

Durable Execution You Can Watch, Without a Workflow Engine

A background job charges a customer’s card on step three of four, then throws an exception on step four. The scheduler does what schedulers do and retries the whole job. Step three runs again. The...

View Article


Long-Term Memory in Spring AI with AutoMemoryTools

AutoMemoryTools lets a Spring AI agent keep useful facts between sessions without treating the whole conversation transcript as permanent context. This article explains the idea and builds a small...

View Article


Spring REST Docs + Asciidoctor: Automated API Documentation

Ask any backend developer what they hate most about maintaining a REST API, and somewhere near the top of the list you’ll hear “the docs are lying again.” Someone changed a field name three sprints...

View Article

Dynamic Link Generation Based on OAuth2 User Permissions

Most REST APIs treat pagination and navigation as a solved problem, and then quietly ignore a much messier one: what happens when two different users hit the same endpoint and get back two very...

View Article

LLM Fine-Tuning: SFT, LoRA, QLoRA, RAG and Prompting

Large language models can perform many tasks without any additional training. They can answer questions, summarize text, generate code, classify information, and interact with tools. However, when...

View Article

Extracting Reliable Structured Data from LLMs

Large language models are good at understanding natural language, but applications usually need information in a predictable form. A customer support application, for example, may receive a message...

View Article


HATEOAS Pagination: Why PagedModel Doesn’t Work with Custom Repositories

If you’ve spent any real time building REST APIs with Spring, you’ve probably hit this wall: your PagingAndSortingRepository gives you gorgeous, self-documenting PagedModel responses out of the box,...

View Article

Running Java Applications on WebAssembly: Exploring WasmEdge and GraalVM...

Java has powered enterprise software, cloud-native microservices, and high-performance backend systems for nearly three decades. Yet, as serverless computing, edge environments, and multi-tenant...

View Article


Google GenAI Chat with Spring AI

Generative Artificial Intelligence has changed the way developers build intelligent applications. Modern applications can use Large Language Models (LLMs) to understand natural language, generate...

View Article

LLM Streaming with Embabel

Large Language Models can take several seconds, or sometimes much longer, to produce a complete response. In a traditional blocking application, the caller waits until the entire response has been...

View Article


Spring AI RAG Tutorial with Spring Boot

Retrieval-Augmented Generation, commonly known as RAG, is one of the most useful patterns for building AI applications that need to answer questions using application-specific or private data. Instead...

View Article

Resilience by Design vs. Resilience by Library: BEAM vs. Go and Java

In distributed systems engineering, few architectural divides are as deep—or as philosophically opposed—as how different runtimes handle failure. When an unexpected error occurs, what should happen?...

View Article

Exploring the Visitor Design Pattern with Java

Design patterns provide established approaches to recurring software design problems. Rather than being ready-made pieces of code, they describe how classes and objects can be organized to make an...

View Article
Browsing index pages (1328 articles)


Latest Images