Home
How to Use Virtual Threads the Right Way in Spring Boot 3
You enabled Virtual Threads in Spring Boot, added spring.threads.virtual.enabled=true to application.yaml, deployed to production and saw almost no improvement. Throughput up 10%, latency under load unchanged, pool-exhausted alerts still firing on Fridays. You did everything right by the book.
The issue is not that Virtual Threads are hype. The issue is that the bottleneck moved. JEP 491, consolidated in Java 25 LTS, permanently fixed thread pinning from synchronized blocks. With synchronized out of the equation, the real bottleneck is now exposed: the HikariCP pool you sized for 20 connections, the ThreadLocal from legacy libraries, and JNI calls still pinning the carrier thread. This article shows you how to fix all three.
🔒 CVE-2026-39852: Why Quarkus API Security Will Come Up in Your Java Interview
Every senior Java developer job in 2026 asks for experience with REST API security. But when the interviewer asks "have you ever dealt with an authorization bypass?", most candidates answer with theory. The ones who come with a real case, with code, exploit, and fix, are the ones who move to the next round.
CVE-2026-39852 in Quarkus is exactly that case. A critical vulnerability affecting all versions before 3.34.7 (LTS) and 3.35.2 (main): an attacker hits /api/admin;bypass and your entire @RolesAllowed configuration becomes worthless, while your CI stays green and tests keep passing.
Your Spring Boot Project Will Break with JUnit 6 (And You Do Not Know It Yet)
It was Monday morning, CI green, nobody had touched the tests in weeks. You update the Spring Boot version in pom.xml, push the commit, go get coffee. When you come back: 47 tests failing. ClassNotFoundException: org.junit.platform.runner.JUnitPlatform. The pipeline breaking before even reaching deployment. Here is the root cause, and it is not in your business logic.
JUnit 6 was released in September 2025 and Spring Boot 4 now assumes JUnit 6 as the default. Teams upgrading the Spring ecosystem without preparing their test suites are in for a shock that was not in the changelog. In this article you will understand exactly what changed, what will break, and how to migrate without drama.
GitOps chaos: did ArgoCD or Flux sink your deploy?
It was 11am on a Friday when the platform team realized ArgoCD was reconciling an incorrect state. Nobody knew where the change came from. Nobody could trace who approved the PR. The production cluster was in a different state than what Git said it should be, and the "single source of truth" had become a source of confusion.
Integrate Claude 4 into Spring Boot and Enable Native Reasoning
95% of Java developers integrate AI as a black box. The 5% who enable Claude 4 Thinking Mode in Spring Boot make architectural decisions in seconds.
There is a way to add architectural reasoning to your Spring Boot system without implementing AI from scratch. Most Java developers have not yet discovered that Spring AI already supports the Thinking Mode of Claude 4, which exposes the reasoning process before the final answer.
⚡ Spring Boot 4: Complete Observability on K8s Without an Agent
There is a way to have correlated traces, metrics and logs in Kubernetes without installing a Java agent, without manually configuring a sidecar, and without writing a single line of instrumentation code. Most teams haven't enabled the starter that Spring Boot 4 introduced yet. One dependency in pom.xml and the OpenTelemetry Operator handles the rest.
With Spring Framework 7.0.7 (released in April 2026), the Spring ecosystem finally has production-ready observability built-in. In this article you will see how to configure it from scratch, with functional code from a Spring Boot 4 service running on Kubernetes, no magic and no extra tools beyond what the starter already delivers.
🚨 The error that will crash your Java pod in Kubernetes 1.36
Still using IPVS in your kube-proxy? It was removed in Kubernetes 1.36. And if you have deprecated APIs that were retired in this version, your Java CronJobs may stop working silently. This is exactly the kind of error that only shows up in production, never in staging.
Kubernetes 1.36 ("Haru") was released in April 2026 with 70 enhancements, and patch 1.36.1 dropped today, May 13. There are changes that break Java pipelines if you upgrade without checking. Here is the complete checklist before you hit that upgrade button.
🧠 Java Agents with Memory: What the Market Will Demand in 2026 Interviews
Companies like major fintechs are already running AI agents in production — and 2026 Java senior roles are starting to require it. But there's an interview question most devs still can't answer: "how do you manage state and memory in your agent without blowing up the LLM context window?"
⚡ How to detect Thread Pinning in production before it brings everything down
There's a way to know exactly where your Virtual Threads are "stuck" before the problem hits production. Most developers who enabled Virtual Threads in Java 25 have never seen this JVM diagnostic report — and they're flying blind.
Maximize sua Eficiência em Java com MapStruct: O Segredo dos Desenvolvedores de Sucesso! 🔍
Você já imaginou poder economizar horas de trabalho tedioso escrevendo código de mapeamento de objetos Java?
Acesso Restrito ou Livre? A Importância dos Modificadores em Java! 🚧🔍
Você já se perguntou como os programadores conseguem controlar o acesso aos elementos em seus códigos Java? Nesta aula, vamos explorar os segredos dos Modificadores de Acesso e os Atributos de Classe em Java, revelando o que está por trás da segurança e organização do seu código. Prepare-se para uma jornada de descoberta enquanto desvendamos esses tópicos essenciais!
AJAX e sua Transformação na Web: Da Troca de XML ao Domínio do JSON 🔄
O AJAX, acrônimo para Asynchronous JavaScript And XML, é uma metodologia de programação que trouxe inovação à web, permitindo a comunicação assíncrona entre o front-end e o back-end de aplicações web. Neste artigo, mergulharemos no mundo do AJAX, explorando seus conceitos, história e evolução para entender como ele potencializou o surgimento da Web 2.0.
POO para Iniciantes: Desmistificando os Conceitos Fundamentais 🧐
Programação Orientada a Objetos (POO) é um paradigma de programação amplamente utilizado que revolucionou a forma como os desenvolvedores criam software. Neste artigo, vamos explorar os princípios essenciais da POO, incluindo o encapsulamento, herança, polimorfismo e abstração. Além disso, discutiremos os benefícios da POO e responderemos às perguntas mais comuns sobre esse tópico.
Page 1 of 2