Java em julho de 2026: JEPs para o JDK 28, Maven 4 no RC6 e Jakarta Agentic AI dá o primeiro passo
O resumo semanal do ecossistema Java traz avanços em value objects e Shenandoah GC, releases de Quarkus, Micronaut e JobRunr, além do estreante Jakarta Agentic AI 1.0.

O compilado semanal de Java da InfoQ, assinado por Michael Redlich, reuniu as movimentações da semana de 27 de julho de 2026 no ecossistema da plataforma. São notícias que interessam a quem mantém software em produção no Brasil, de quem acompanha as versões do JDK a quem já pensa em experimentar IA rodando dentro da JVM.
OpenJDK: o que vem no JDK 28
Duas JEPs em preview foram promovidas de Proposed to Target para Targeted no JDK 28:
- JEP 539, Strict Field Initialization in the JVM (Preview): introduz campos que precisam ser inicializados antes de serem lidos, de modo que valores padrão como
0ounullnunca sejam observados. O recurso é voltado a compiladores que emitem class files. - JEP 401, Value Objects (Preview): antiga Object Classes and Values, propõe objetos de valor, que contêm apenas campos
final, não têm identidade e são distinguidos somente pelos valores de seus campos.
Além delas, a JEP 535, Shenandoah GC: Generational Mode by Default avançou de Candidate para Proposed to Target, com revisão prevista para encerrar em 3 de agosto de 2026. A proposta torna o modo geracional o padrão do coletor, com intenção de depreciar e remover o modo não geracional no futuro. Já a JEP 542, PEM Encodings of Cryptographic Objects subiu de rascunho para Candidate, mirando finalizar, após três rodadas de preview (JDK 25 a 27), uma API para codificar chaves, certificados e listas de revogação no formato PEM.
Na frente de builds, saíram o early-access Build 33 do JDK 27 e o Build 9 do JDK 28, ambos com correções detalhadas nas respectivas release notes.
Jakarta EE e o primeiro milestone de IA agêntica
A novidade estrutural da semana é o primeiro milestone do Jakarta Agentic AI 1.0.0. Ele traz uma nova infraestrutura interna de TCK que vai além de checagens de assinatura e reflection para cobrir semântica comportamental real, e novas anotações @RequiresEngine e @RequiresNoEngine, que substituem o uso de @Disabled do JUnit em testes quando uma implementação de referência está sendo implantada.
O Eclipse Starter for Jakarta EE também foi atualizado para dar suporte ao Jakarta EE 11, com runtimes Azul Payara, GlassFish e Open Liberty.
GraalVM, TornadoVM e IA local
A GraalVM 25.2 chegou com um novo Graal Script Agent, biblioteca Java em preview inicial que transforma pedidos em linguagem natural em plugins de aplicação sandboxed rodando localmente, suporte a G1 GC no Native Image em todas as plataformas (inclusive Windows) e a Java Vector API habilitada por padrão.
No terreno de inferência acelerada por GPU, saiu a versão GA do GPULlama3.java 1.0.0, projeto open source de inferência do Llama 3 sobre a TornadoVM. Entre as novidades: suporte ao backend CUDA da TornadoVM com prefill em lote acelerado por Tensor Core MMA, um novo servidor compatível com OpenAI (que expõe qualquer modelo GPULlama3 atrás de uma API HTTP de clientes OpenAI) e uma classe RunMetrics para coleta de métricas de desempenho.
Frameworks: Micronaut, Quarkus e JobRunr
- Micronaut Framework 5.1.0 (baseado no Micronaut Core 5.1.10) traz a anotação
@Propertyaninhada dentro de@Introspected, para injeção de sequenced-collection, hooks de integração com CDI e travessia de inner class Kotlin via KSP, além de suporte ao OpenDI, implementação compatível com Eclipse do CDI Lite. - Quarkus 3.38.0 adiciona eviction de memória baseada em peso para as regiões de cache do Hibernate Second Level Cache (via Caffeine e JCache) e uma extensão HTTP Problem que implementa a RFC-7807 (Problem Details for HTTP APIs), mapeando exceções para respostas
application/problem+json. - JobRunr 8.8.0 melhora o logging quando o
BackgroundJobServerencontraStorageException, adiciona suporte a Kotlin 2.4 e permite a usuários do Quarkus remover a dependênciaquarkus-smallrye-health.
Ferramentas
Saiu a sexta release candidate do Maven 4.0.0 (RC6), com correções (incluindo issues resolvidas do RC5), melhorias de documentação, upgrades de dependências e a capacidade de aceitar nomes de módulo Java como artifactId anexado, útil em projetos multi-módulo. A equipe alerta para incompatibilidades conhecidas e validação de POM mais estrita descritas nas release notes. Já o JDKUpdater 26.0.33+211, utilitário de Gerrit Grunwald (Azul) para acompanhar builds do OpenJDK e da GraalVM, foi atualizado para refletir a nova cadência dos Critical Patch Updates do OpenJDK.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana.








