December 31st, 2025
0 reactions

Java at Microsoft: 2025 Year in Review

Bruno Borges
Principal PM Manager

A breakthrough year for modernization, AI‑assisted development, Agentic AI development, and platform innovation

2025 was one of the most significant years yet for Java at Microsoft. From the arrival of OpenJDK 25 as the newest Long‑Term Support (LTS) release, to AI‑powered modernization workflows with GitHub Copilot app modernization, to Agentic AI development in Microsoft AI Foundry with Java frameworks like LangChain4j, Spring AI, Quarkus AI, and Embabel, with major Visual Studio Code and Azure platform investments. Microsoft deepened its commitment across the entire Java ecosystem.

Java 25: A New LTS Era Begins

2025 delivered a historic milestone: OpenJDK 25 officially shipped and with it, Microsoft Build of OpenJDK 25 as the next Long‑Term Support (LTS) release, setting the foundation for the next multi‑year cycle of enterprise Java workloads.

For developers who have not been following advancements in the Java language, it may not look, but the code below is a Rock Paper Scissors implementation in Java 25 that can be put inside a Game.java file and executed with “$ java Game.java” with a JDK 25 installation.

code sample image

To run this code, Microsoft released binaries, container images, and updated Azure Platform services, providing:

 

  • Cross‑platform availability on Linux, macOS, and Windows for both x64 and AArch64/Apple Silicon
  • Azure Platform services App Service and Functions with managed JDK 25
  • Container images via the Microsoft Container Registry
  • Production‑ready quality gates, including JCK compatibility, Eclipse AQAvit verification, and Microsoft’s internal performance hardening
  • AI-assisted upgrade and modernization path from JDK 8, 11, 17, and 21 through GitHub Copilot app modernization

With Java 25, enterprises gain language and runtime improvements, performance upgrades, memory optimizations, and new developer‑facing capabilities, giving organizations strong justification to plan migrations earlier in the LTS cycle rather than waiting several years. To learn about some of the new features in JDK 25, check our announcement.

GitHub Copilot across Java IDEs: Eclipse & IntelliJ

GitHub Copilot’s continued parity and agentic capabilities across Visual Studio Code, IntelliJ IDEA, and Eclipse IDE ensure Java teams can adopt AI assistance without changing IDEs, which is crucial for regulated environments and large estates. The advantage of GitHub Copilot is to bring to developers all the best coding models through a single subscription.

jetbrains github copilot model selection

In IntelliJ IDEA, the official GitHub Copilot plugin delivers chat, agentic capabilities, MCP support, inline completions, and more. Fast nightly updates keep pace with IDE releases across the JetBrains family. GitHub Copilot is also available on the Eclipse Marketplace with code completions, Copilot Chat, and agentic workflows powered by Agent Mode and MCP integrations. Agent preview lets developers delegate tasks from Eclipse and track jobs that open draft PRs and queue reviews.

 

GitHub Copilot CLI: beyond IDEs

A screenshot of a computer terminal screen showing Copilot CLI

For Java developers who prefer working directly from the terminal, the GitHub Copilot CLI brings the same AI‑assisted power found in IDEs straight to your shell. With Copilot CLI, you can run development tasks, upgrade, migration, and deployment workflowsend‑to‑end without switching tools, ideal for developers who live in Bash, Zsh, or PowerShell. Copilot CLI supports interactive and batch scenarios, making it possible to develop Java applications, upgrade Java versions, modernize Spring or Jakarta EE apps, or deploy to Azure entirely via command‑line tasks.

GitHub Copilot App Modernization: A Breakthrough for Java and Frameworks Upgrades

2025 was a breakout year for Java modernization via GitHub Copilot, now providing end‑to‑end support for assessments, planning, code transformation, testing, and deployment. For a video introduction, watch Modernize Java apps in days with GitHub Copilot on YouTube.

Modernization formulas, rules, and recipes encode expert migration guidance for core Java APIs, the Spring Framework, the Jakarta EE platform, and hundreds of related scenarios including logging, identity, secret management, messaging, database, and overall cloud readiness.

Key modernization capabilities:

  • Deep codebase analysis (framework versions, deprecated APIs, dependency issues)
  • AI‑generated modernization plans
  • Automated and deterministic code transformations and refactoring
  • Security CVE detection, build remediation, and test generation
  • Azure‑optimized deployment paths

GitHub Copilot app modernization is available on Visual Studio Code, IntelliJ, and in the Copilot CLI.

Azure Command Launcher for Java: Intelligent JVM Defaults and More

2025 was also the year when JVM tuning became a no-brainer for cloud‑native Java teams. Now in Public Preview, the Azure Command Launcher for Java is a drop‑in replacement for the java JVM launcher that:

  • Eliminates the need for manual JVM tuning
  • Applies smarter, optimized JVM flags and configurations automatically
  • Reduces memory waste and inconsistent tuning across your fleet
  • Improves startup, GC behavior, and resource efficiency
  • Properly detects environment memory and CPU limits
  • Supports OpenJDK 8 and later

Large organizations like Bradesco Bank validated operational gains, demonstrating measurable efficiency enhancements, performance consistency, and operational peace of mind across hundreds of thousands of JVMs. The tool provides an immediate path for teams modernizing to the new LTS without having to learn completely new tuning heuristics. Let us do the JVM tuning for you.

Once installed, using Azure Command Launcher for Java is as simple as replacing the “java” command with the “jaz” command:

dockerfile image

For more information on the performance benefits, check the article Beyond Ergonomics: How the Azure Command Launcher for Java Improves GC Stability and Throughput on Azure VMs.

 

The roadmap for the Azure Command Launcher for Java has exciting ideas, and we are eager to connect with developers and customers willing to experiment. Let us help you get the most of advanced JVM features like App CDS, Project Leyden, GC log analysis, and more!

Azure SRE Agent: Intelligent Reliability for Java Apps

Announced this year and currently in Preview, the Azure SRE Agent is soon adding deeper operational intelligence for Java workloads. Java teams running at scale gain a powerful assistant that reduces MTTR and elevates reliability practices. To learn more, you can watch this presentation at InfoQ Dev Summit Boston 2025: Fix SLO Breaches Before They Repeat to see a demo.

Modernizing Spring Boot + Azure Cosmos DB with GitHub Copilot

A standout moment was the Reactor session on modernizing Spring Boot apps from relational databases to Azure Cosmos DB, using GitHub Copilot to accelerate every step. This presentation also demonstrates features in Visual Studio Code with GitHub Copilot for customizing agentic AI instructions and prompts.

Developers learned how Copilot can:

  • Identify relational data access code
  • Generate Cosmos DB‑compatible repositories, entity models, partitioning annotations
  • Apply schema reasoning using AI
  • Create migration tasks and unit tests automatically
  • Validate migration paths from local dev to cloud deployment

This brings database modernization into the same workflow as app upgrades—critical for Java cloud migrations. Watch the replay on the Microsoft Reactor page. For more on context engineering and custom instructions, you can also watch this other presentation Context Engineering for Java Ecosystem.

AI and Java for Beginners

Experts are pushing the boundaries of AI development, whether with AI assisting tools, with Agentic AI coding, or building custom Agents. But we must start somewhere, and for beginners, it is important to have fundamentals and basic understanding of core tools. This is why the Microsoft Developer Relations team for Java, built and published the Java and AI for beginners series.

We help you through foundational ideas first and then move into hands-on examples:

  • Getting started fast– Spin up your first AI-powered app using GitHub Codespaces.
  • Core generative AI techniques– Learn the basics behind completions and chat flows. See how function calling connects models to real tools and services. Get an introduction to Retrieval-Augmented Generation (RAG) for document-aware applications.
  • Simple, focused application– Explore small projects that illustrate different capabilities, such as combining text and image generation, running models locally with the Azure AI Foundry Local experience, and wiring tools with the Model Context Protocol (MCP).
  • Responsible AI– Apply safety features from GitHub Models and Azure services. We cover content filtering, bias awareness, and practical checks you can add before deployment.
  • MCP in Java– Understand the Model Context Protocol and how it fits Java workflows. Learn what it means to implement an MCP server, connect a Java client, and use tools through a consistent protocol.
  • Context engineering for Java– Improve results with clean prompts, structured context, and simple evaluation steps. We discuss when to persist context and when to compute it on the fly.
  • Modernization with AI assistance– See how the GitHub Copilot App Modernization experience helps upgrade and migrate Java applications. Then follow a guided flow to deploy to Azure with AI-assisted configuration.
  • LangChain4j essentials– Start a basic project that targets OpenAI-compatible endpoints, then build a small agent with tools and memory to understand the moving parts.
  • Running GenAI in containers– Review when to use on-demand GPUs for inference and training. Learn how dynamic sessions in Azure Container Apps support code interpreters and short-lived, cost-aware execution.

Each video is short and focused. Watch them in order if you are new to the space or skip into the topics that match your immediate needs.

Developer Voice: Microsoft JDConf, JavaOne 2025

The year was full in terms of sharing ideas. Everyone had something to say, especially about AI. Of course, Microsoft also had a few ideas to share, and that is why we were present at dozens of conferences in 2025, all around the world: DevNexus, Devoxx, JavaLand, JavaOne, JavaZone, SpringOne, and others.

Meeting other developers at conferences, whether virtual or in-person, remain one of the best ways to share ideas and learn from others. This year, we gave continuity with our own space, Microsoft JDConf, so Microsoft experts and community speakers could participate and share theirs. In addition to that, we participated in key events like Oracle’s flagship Java developer conference, JavaOne. In 2026, we will be there again.

Microsoft JDConf

The 2025 edition focused on our opportunity to Code the Future with AI. There were 22 technical sessions across Spring, Quarkus, AI agentic development, core Java principles, modern tooling, and code modernization. With strong global community engagement and the presence of luminaries and Java Champions like Josh Long and Lize Raes, JDConf 2025 was a milestone for our community engagement, giving them the space and amplification to share their ideas. Watch the recordings.

For 2026, we are excited for what’s to come! Microsoft JDConf call for papers is up and running, and the conference will be back on April 8-9 with the usual three timezones live streams so everyone can engage and learn.

JavaOne

This year we were at Oracle’s JavaOne conference where we shared what developers can get with Microsoft tools and services for modern Java development with AI. We also had exciting breakout sessions on AI, modernization, and cloud-native Java, where thousands of developers engaged in person and online. Needless to say, we will be back at JavaOne 2026, so stay tuned!

In the meantime, watch again the Microsoft keynote at JavaOne 2025 and our two breakout sessions, Next-Level AI Mastery for Java Developers, and From RAG to Enterprise AI Agents: Building Intelligent Java Apps.

Open Source Contributions

Microsoft teams continued collaborating with key projects in the Java ecosystem. A few highlights go to OpenJDK contributions by Microsoft’s Java Engineering Group, and contributions by the Microsoft Developer Relations team to frameworks like Spring AI, Quarkus, and LangChain4j.

LangChain4j has become a de facto standard in building intelligent Java applications, and integrations with Microsoft AI services are key for enabling customers to leverage the latest AI models and capabilities into their systems. To learn more about LangChain4j and our contributions to it, check out the blog Microsoft and LangChain4j: A Partnership for Secure, Enterprise-Grade Java AI Applications.

The Road Ahead — 2026 and Beyond

With OpenJDK 25 now the active LTS, the ecosystem is entering a new multi‑year cycle. Microsoft will continue investing in:

  • Deeper GitHub Copilot agent workflows
  • Adaptive JVM tuning intelligence
  • Expanded modernization formulas
  • Broader Azure service integrations
  • Next‑gen Spring, Quarkus, LangChain4j, & Java AI tooling

The mission remains unchanged: empower every Java developer to build intelligent applications, modernize legacy codebases, and operate applications with world‑class tooling, AI assistance, and cloud‑native excellence.

Category
Java

Author

Bruno Borges
Principal PM Manager

Bruno is Principal Program Manager for Microsoft's Java Engineering Group. Previously the Java lead for Azure Developer Relations. Conference speaker, open source contributor, Java Champion and influencer, Twitter junkie, beer sommelier.

0 comments