Microsoft for Java Developers
News, updates, and insights for Java development with Microsoft tools, Azure services, and OpenJDK.
Featured posts

Java OpenJDK October 2025 Patch & Security Update
Hello Java customers! We are happy to announce the latest July 2025 patch & security update release for the Microsoft Build of OpenJDK. Download and inst...
Latest posts
Beyond Ergonomics: How the Azure Command Launcher for Java Improves GC Stability and Throughput on Azure VMs
In our previous blog we introduced Azure Command Launcher for Java () —a safe, resource-aware way to launch the JVM without hand-tuning dozens of flags. This follow-up shares performance results, focusing on how affects G1 behavior, heap dynamics, and pause characteristics under a long-running, allocation-intensive workload: SPECjbb 2015 (JBB). Test bed: 4-vCPU, 16-GB Azure Linux/Arm64 VM running the Microsoft Build of OpenJDK. JDKs exercised: Validated on JDK 17 (17.0.17), 21 (21.0.9), and 25 (25.0.1); all figures in this post are from the JDK 17 runs. Trends on 21/25 matched the 17 results. How we ran...
From Complexity to Simplicity: Intelligent JVM Optimizations on Azure
Introduction As cloud-native architectures scale across thousands of containers and virtual machines, Java performance tuning has become more distributed, complex, and error-prone than ever. As highlighted in our public preview announcement, traditional JVM optimization relied on expert, centralized operator teams manually tuning flags and heap sizes for large application servers. This approach simply doesn’t scale in today’s highly dynamic environments, where dozens—or even hundreds—of teams deploy cloud-native JVM workloads across diverse infrastructure. To address this, Microsoft built Azure Command Launch...
Announcing the Public Preview of Azure Command Launcher for Java
Today we are announcing the Public Preview of the Azure Command Launcher for Java, a new tool that helps developers, SREs, and infrastructure teams standardize and automate JVM configuration on Azure. The goal is to simplify tuning practices and reduce resource waste across Java workloads. JVM Tuning in a Cloud-Native World Before the rise of microservices, Java applications were typically deployed as Java EE artifacts (WARs or EARs) on managed application servers. Ops teams were responsible for configuring and tuning the JVM, often on powerful servers that hosted multiple applications on a single Java EE app...
Introducing Major New Agentic Capabilities for GitHub Copilot in JetBrains and Eclipse
GitHub Copilot is taking a major step forward with expanded, deeply integrated support for JetBrains and Eclipse — bringing a new generation of agentic, intelligent capabilities directly into your favorite Java IDEs. This release strengthens Copilot’s cross-IDE experience, unifies agentic workflows, and unlocks more powerful automation to help developers code faster, modernize confidently, and stay in flow. New Agentic Capabilities This is the year of the agents. Developers need more control than ever—both in how they work with agents and how agents adapt to their workflows. After introducing Custom Agents in ...
JDConf 2026 Is Coming With Modern Solutions for an Agentic World
Technology is accelerating faster than ever, and developers are once again at the helm, shaping the future of applications, intelligence, and enterprise systems. With the rise of large language models (LLMs), agent-oriented architectures, and AI-driven development paradigms, Java developers find themselves in a uniquely powerful position to modernize code already powering critical systems, and to build the software of tomorrow. Java remains one of the world’s most trusted languages for enterprise, cloud, mobile and mission-critical systems. As James Governor, from developer analyst firm RedMonk, recently...
Java OpenJDK October 2025 Patch & Security Update
Hello Java customers! We are happy to announce the latest July 2025 patch & security update release for the Microsoft Build of OpenJDK. Download and install the binaries today. Check our release notes page for details on fixes and enhancements. The source code of our builds is available now on GitHub for further inspection: jdk25u, jdk21u, jdk17u, jdk11u. Microsoft Build of OpenJDK specific updates OpenJDK25 OpenJDK21 OpenJDK17 OpenJDK11 Summary of Upstream Updates OpenJDK 25 OpenJDK 21 OpenJDK 17 OpenJDK 11 ...
MCP Registry and Allowlist Controls for Copilot in JetBrains and Eclipse Now in Public Preview
MCP registry and allowlist controls for GitHub Copilot in JetBrains IDEs and Eclipse are now available in public preview in nightly/pre-release builds. What’s new MCP Registry An MCP Registry is a directory of Model Context Protocol (MCP) servers. For users of JetBrains IDEs and Eclipse, you can now configure your MCP Registry and browse available MCP servers directly within your IDE. This greatly streamlines setup and provides a seamless experience for discovering and managing MCP servers right from the editor. Allow List Controls As an enterprise or organization owner, you can configure an MCP Registry...
Java and AI for Beginners: a practical video series for Java
If you're looking for a clear, no-nonsense path into generative AI on Java, this series is for you. Microsoft's Java and AI for Beginners video series is a set of short tutorials that introduce the concepts, tooling, and patterns you need to get started at a pace that respects your time and experience. What the series covers We help you through foundational ideas first and then move into hands-on examples: 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. Integrations you w...
Microsoft’s OpenJDK builds now ready for Java 25
We’re excited to announce that the Microsoft Build of OpenJDK binaries are now available for Java 25. As always, our builds aim to provide a high-quality, production-ready build of OpenJDK, with binaries tested across platforms (Windows, Linux, macOS) and backed by our support and release pipelines. With this release, we invite developers, teams, and organizations to start migrating to Java 25, and in doing so, to take advantage of the many enhancements that have accumulated since Microsoft Build of OpenJDK 21 (our previous LTS release). Microsoft Build of OpenJDK 25 is fully supported for deployment on Azure ...
Unlocking MCP in JetBrains: How Copilot Uses Sampling, Prompts, Resources, and Elicitation
With the enhanced capability of the MCP on JetBrains, you can now bring prompts, resources, and even interactive tools directly into your IDE interacting with MCP. This means more flexible workflows, deeper context, and smoother collaboration between Copilot and your coding environment. Let’s take a look at what you can do today with MCP Sampling, Prompts, Resources, and Elicitation. Prerequisites To easily enable everything, you can copy and paste these settings into your `mcp.json` file: MCP Sampling – Fine-Tune How Copilot Responds With MCP Sampling, you can...
Building a Runtime JAR inspector in 10 hours
Last Friday I was reviewing our backlog items in the Java Engineering Group, and found an idea we had when Log4Shell happened. To this day, there is still no main stream solution to "find in production where a given JAR is being used". Why runtime truth matters (Log4Shell) When Log4Shell hit, lots of teams hunted for log4j through source control and CI pipelines. Helpful, but incomplete. Two realities get in the way: Finding where a vulnerable artifact is present in production, at runtime, and whether is being used, is far more important than monitoring source code and build pipelines. We s...
“HTTP header exceeding 8,192 bytes” error when using the Azure SDK for Java
A recent issue was identified in the azure-resourcemanager libraries for Java regarding HTTP headers exceeding 8,192 bytes. Following analysis, this was addressed within the Azure SDK for Java by increasing the maximum response header size limit of “reactor-netty-http” to 256 KB, accommodating larger headers. To benefit from this mitigation, it is necessary to upgrade azure-core-http-netty to version 1.15.12 or later. Alternatively, if you are utilizing the BOM, please use version 1.2.36 or above. This issue originated from an update in Azure Resource Manager to add a cryptographic token to long-running-operat...
Generative AI for Beginners – Java Edition launched
IN ONE hour, all ONLINE, complete our new training for Generative AI for Beginners – Java Edition - part of the incredible Microsoft Generative AI series - Python, .NET and JavaScript. In this training get first-hand experience with Core Generative AI Techniques and Tools we’re using inside Microsoft: Quick Start 📅Book now and Learn LIVE with FREE Training! 👉 Generative AI for Beginners - Java Edition | Microsoft Reactor
Java OpenJDK July 2025 Patch & Security Update
Hello Java customers! We are happy to announce the latest July 2025 patch & security update release for the Microsoft Build of OpenJDK. Download and install the binaries today. Check our release notes page for details on fixes and enhancements. The source code of our builds is available now on GitHub for further inspection: jdk21u, jdk17u, jdk11u. Microsoft Build of OpenJDK specific updates OpenJDK21 OpenJDK17 OpenJDK11 Summary of Upstream Updates OpenJDK 21 OpenJDK 17 OpenJD...
Microsoft and LangChain4j: A Partnership for Secure, Enterprise-Grade Java AI Applications
The artificial intelligence landscape presents unprecedented opportunities for Java developers. With decades of experience building robust enterprise applications using Spring, Quarkus and Jakarta EE, Java developers are uniquely positioned to create sophisticated AI solutions. The emergence of specialized AI libraries like LangChain4j enables them to leverage their existing expertise while building secure, scalable, and maintainable AI applications. Introducing LangChain4j: A Comprehensive Java AI Library LangChain4j represents a significant advancement in Java-based AI development. This community-driven l...
Customize GitHub Copilot in JetBrains with Custom Instructions
Today, you can use Custom Instructions in JetBrains to speed up development while staying aligned with your team's coding standards and personal preferences. Whether you're working on a solo project or part of a larger team, adhering to consistent coding standards is essential. Custom Instructions provide a mechanism to reinforce team coding guidelines or embed personal coding preferences. Example: Make custom instructions for newly generated code Make sure you have the latest version of GitHub Copilot installed on you JetBrains IDE. Then, navigate to the GitHub Copilot settings to find the Custom Inst...
What’s New for Java Developers in Azure Cosmos DB (NoSQL)?
The Java ecosystem around Azure Cosmos DB has quietly grown a lot stronger in the first half of 2024. And the updates are especially exciting if you’re working on scalable apps or exploring GenAI workloads. From new support for vector search and indexing, to better throughput management and improved integrations with Apache Kafka, Spring Data, and Apache Spark, there’s a lot to unpack. If you’re building Java apps with Cosmos DB or just curious about how far the NoSQL SDK has come, you’ll want to check out this update. 👉 Continue reading: Latest NoSQL Java Ecosystem Updates (June 2024 – June 2025)
Anthropic Claude Sonnet 4 and Opus 4 Now Available in GitHub Copilot for JetBrains and Eclipse
Anthropic Claude Sonnet 4 and Claude Opus 4 are now available in GitHub Copilot Chat for JetBrains IDEs and Eclipse. Model Availability✨ For full details, please see this documentation. How to Get Started🚀 Join the Discussion💬 Your feedback drives improvements. Let us know what you think using the in-product feedback option, or share your thoughts in the following channels:
Connect Spring AI to Local AI Models with Foundry Local
What is Azure AI Foundry and Foundry Local? Azure AI Foundry is Microsoft's comprehensive platform for enterprise AI development and deployment, enabling organizations to build, customize, and operate AI solutions at scale. It provides tools, services, and infrastructure to develop, fine-tune and deploy AI models in production environments with enterprise-grade security and compliance. Foundry Local is the desktop companion to Azure AI Foundry that brings powerful AI model inference to your local machine. It's an open-source tool that provides an OpenAI-compatible API, allowing developers to run, test, a...
Monitor your Quarkus native application on Azure
Introduction Quarkus is a general-purpose Java framework focused on efficient use of resources, fast startup, and rapid development. It allows developers to create and run services in the Java Virtual Machine (JVM) or native binary executables (native mode). In this blog post we are going to focus on using Quarkus to create and monitor a native mode Quarkus application on Azure. A simple service will be created from scratch to demonstrate the capability of sending OpenTelemetry data to Azure. Why native? Quarkus Native Mode refers to building and running a Quarkus application as a native binary executab...
Jakarta EE and Quarkus on Azure – June 2025
Hi everyone, welcome to the June 2025 update for Jakarta EE and Quarkus on Azure. It covers topics such as DevServices support of Quarkus Azure Extension, and comprehensive guides on implementing Quarkus applications monitoring and Liberty applications monitoring. If you're interested in providing feedback or collaborating on migrating Java workloads to Azure with the engineering team developing Jakarta EE and MicroProfile on Azure solutions, please complete this short survey on Jakarta EE migration. The team of product managers, architects, and engineers will promptly get in touch with you to initiate close col...
Announcing Azure Command Launcher for Java
Optimizing JVM Configuration for Azure Deployments Tuning the Java Virtual Machine (JVM) for cloud deployments is notoriously challenging. Over 30% of developers tend to deploy Java workloads with no JVM configuration at all, therefore relying on the default settings of the HotSpot JVM. The default settings in OpenJDK are intentionally conservative, designed to work across a wide range of environments and scenarios. However, these defaults often lead to suboptimal resource utilization in cloud-based deployments, where memory and CPU tend to be dedicated for application workloads (use of containers and VMs) but s...
Vibe coding with GitHub Copilot: Agent mode and MCP support in JetBrains and Eclipse
Today, we're excited to announce that GitHub Copilot Agent Mode and MCP support are now in public preview for both JetBrains and Eclipse! Whether you're working in IntelliJ IDEA, PyCharm, WebStorm or Eclipse, you can now access Copilot’s intelligent agent features and seamlessly manage your project workflows, all from within your IDE. In this post, we’ll demonstrate how Agent Mode and MCP support can supercharge real-world development workflows through a collaborative feature development story. Meet Adrian, a backend-focused Java developer who primarily uses JetBrains, and Lucy, a full-stack enthusiast wo...
Announcing Public Preview of the GitHub Copilot app modernization for Java
Modernizing Java applications and migrating to the cloud is often a complex, time-consuming, and fragmented process. GitHub Copilot app modernization for Java is a powerful solution designed to simplify and accelerate your journey to the cloud. Available now in Public Preview as a Visual Studio Code extension, GitHub Copilot app modernization for Java provides an intelligent, guided approach to Java upgrades and modernization—automating repetitive tasks, improving consistency, and reducing risk. Six Core Value Pillars 1.Intelligent Issue Analysis & Recommendation Modernization starts with insight. Whe...
The State of Coding the Future with Java and AI – May 2025
Software development is changing fast, and Java developers are right in the middle of it - especially when it comes to using Artificial Intelligence (AI) in their apps. This report brings together feedback from 647 Java professionals to show where things stand and what is possible as Java and AI come together. One of the biggest takeaways is this: Java developers do not need to be experts in AI, machine learning, or Python. With tools like the Model Context Protocol (MCP) Java SDK, Spring AI, and LangChain4j, they can start adding smart features to their apps using the skills they already have. Whether it ...
Important Updates to Container Images of Microsoft Build of OpenJDK
Mariner Linux 2.0 will reach its End-Of-Life (EOL) in July of 2025 and will be replaced with Azure Linux (version 3.0). To ensure a smooth transition for our customers and partners, the Java Engineering Group (DevDiv JEG) behind the Microsoft Build of OpenJDK has developed a migration aligned with this timeline. This strategy takes effect on June 30, 2025, coinciding with the official EOL date for Mariner Linux 2.0. Our Strategy This way we can ensure a reasonable balance between security by default and alternatives for our customers who need to roll back to previous versions despite...
Java OpenJDK April 2025 Patch & Security Update
Hello Java customers! We are happy to announce the latest April 2025 patch & security update release for the Microsoft Build of OpenJDK. Download and install the binaries today. Check our release notes page for details on fixes and enhancements. The source code of our builds is available now on GitHub for further inspection: jdk21u, jdk17u, jdk11u. Container images will also be updated, and soon we will be upgrading the base OS layer. Read this other announcement for details. Microsoft Build of OpenJDK specific updates OpenJDK21 OpenJDK17 OpenJDK11 ...
Introducing ABAP Support in GitHub Copilot for Eclipse
The latest release of GitHub Copilot for Eclipse now includes support for ABAP! This update builds on the recent release of code completion and chat integration, offering a robust toolset for developers working within the SAP environment. ABAP remains a critical language in the enterprise space, powering a wide range of business applications, and its new support in GitHub Copilot enables streamlined development by reducing time spent on boilerplate coding and improving code quality, while offering real-time guidance through instant, best-practice suggestions that accelerate learning and empower developers to inn...
GitHub Copilot Chat now available in public preview for Eclipse
Today, GitHub Copilot Chat is available in public preview for Eclipse! This release follows the initial public preview of GitHub Copilot in Eclipse, which only supported code completions, and is available for all Eclipse users with access to GitHub Copilot. If you already have GitHub Copilot installed in your Eclipse IDE, you can find update information in the Eclipse Marketplace. After installing or updating GitHub Copilot for Eclipse, click on in the bottom right corner of the Eclipse IDE, and select Open Chat. This will open the Copilot Chat dialog box. If it's your first time using Copilot C...
Queue-Based Load Leveling Pattern (Starring Phi4, LangChain4j and Azure Service Bus)
In this blog, we’re exploring the Queue-Based Load Leveling pattern—a powerful method for smoothing out workload spikes Why Choose Queue-Based Load Leveling? In today's fast-paced software environment, dynamic workloads are common. The Queue-Based Load Leveling pattern decouples the production and consumption of tasks by introducing a queue between them. This allows producers and consumers to work independently, preventing system overload during traffic spikes. For small, monolithic applications, in-memory queues might suffice. However, as applications scale or adopt distributed architectures, these simple...
Jakarta EE and MicroProfile on Azure – February 2025
Hi everyone, welcome to the February 2025 update for Jakarta EE and MicroProfile on Azure. It covers topics such as the latest updates to Azure extensions for Quarkus, and the recent refresh to Jakarta EE Solutions for supporting multiple deployments within the same resource group. If you're interested in providing feedback or collaborating on migrating Java workloads to Azure with the engineering team developing Jakarta EE and MicroProfile on Azure solutions, please complete this short survey on Jakarta EE migration. The team of product managers, architects, and engineers will promptly get in touch with you to ...
GitHub Copilot for Eclipse: Code Completion Now in Public Preview
We are excited to announce the Public Preview of GitHub Copilot for Eclipse. As part of the broader GitHub Copilot family, which enhances productivity in various IDEs, this latest integration ensures that developers using Eclipse can benefit from AI-assisted coding like never before. GitHub Copilot is an AI-powered code assistant designed to streamline software development by offering intelligent code completions, inline suggestions, and context-aware recommendations. While it has been widely adopted in Visual Studio Code, Visual Studio, Xcode, JetBrains IDEs, Neovim, and Azure Data Studio, its integration into...
DeepSeek-R1 on Azure with LangChain4j Demo
DeepSeek-R1 has been announced on GitHub Models as well as on Azure AI Foundry, and the goal of this blog post is to demonstrate how to use it with LangChain4j and Java. We concentrate here on GitHub Models as they are easier to use (you just need a GitHub token, no Azure subscription required), then Azure AI Foundry uses the same model and infrastructure. Demo project The demo project is fully Open Source and available on GitHub at https://github.com/Azure-Samples/DeepSeek-on-Azure-with-LangChain4j. It contains the following examples: Please note that despite being called a Chat Model, D...
Java OpenJDK January 2025 Patch & Security Update
Hello Java customers! We are happy to announce the latest January 2025 patch & security update release for the Microsoft Build of OpenJDK. Download and install the binaries today. Check our release notes page for details on fixes and enhancements. The source code of our builds is available now on GitHub for further inspection: jdk21u, jdk17u, jdk11u. Microsoft Build of OpenJDK specific updates OpenJDK21 OpenJDK17 OpenJDK11 Summary of Upstream Updates OpenJDK 21 OpenJDK 17 OpenJDK 11 OpenJDK 8 ...
MWA pattern: Strangler Fig
Author’s Note: After announcing the Modern Web App (MWA) pattern (https://devblogs.microsoft.com/java/introducing-the-modern-web-app-mwa-pattern-for-java), we now focus on one of its many pattens - the Strangler Fig pattern. This pattern incrementally modernizes a legacy Java application by “strangling” targeted areas and replacing them with new microservices or minimal web apps. We’ll explore an example showing how to integrate this approach and smoothly transition from a monolith to modern microservices. MWA pattern: Strangler Fig Introduction In today's fast-paced technological landscape, modern...
Free Plan Support for GitHub Copilot Available on JetBrains IDEs
Hello, developers! Welcome to our very first blog post dedicated to GitHub Copilot Plugin for JetBrains IDEs in 2025. We are excited to share that the new Free Plan for GitHub Copilot has been available for everyone on JetBrains IDEs! Whether you use IntelliJ IDEA (Ultimate, Community, Educational), PyCharm(Professional, Community, Educational), WebStorm, PhpStorm, Rider, or any other compatible JetBrains IDEs, you can now take advantage of this free plan to assist you in your development. With this Free Plan, you can enable GitHub Copilot using just your GitHub account—no trials, subscriptions, or credit cards ...
Announcing Javac support in Visual Studio Code Java
Hi everyone, we are pleased to announce partial support of Javac as the underlying compiler in Visual Studio Code Java, JDT, and JDT-LS. The effort to provide this support has been a joint collaboration with Red Hat and Microsoft and is nearly a year in the making. This change aims to ensure timely support for the latest Java features and align Java language support on VS Code more closely with common build tools (such as Maven, Gradle). Many of our users have shared the desire for a more seamless, out-of-the-box development experience, and we believe introducing Javac is a strong first step toward making that...
Deletion of Outdated Azul Zulu for Azure Container Images for Better Security
We at Microsoft are committed to providing customers with a secure ecosystem of tools for building and deploying applications. As part of this commitment, we continuously update our Java container image offerings to ensure they meet the highest security standards. Back in January 2022, we announced the End of Updates for the Azul Zulu for Azure build of OpenJDK. As part of that announcement, we shared that Microsoft and Azul Systems were no longer going to provide further updates, security patches, and support for this specific Azul Zulu for Azure build of OpenJDK. Since then, we have updated Azure Platform serv...
Jakarta EE on Azure – November 2024
Hi everyone, welcome to the November 2024 update for Jakarta EE on Azure. It covers topics as new AZD template of Quarkus Apps on Azure Container Apps, Cargo Tracker Deployment with AI integration, AI infused apps with Open Liberty on AKS, Java apps authentication with Microsoft Entra ID, and new features for JBoss EAP on Azure and WebLogic Server on Azure. If you're interested in providing feedback or collaborating on migrating Java workloads to Azure with the engineering team developing Jakarta EE on Azure solutions, please complete this short survey on Jakarta EE migration. The team of product managers, arc...
Java Intelligent Application Templates in the Azure AI Gallery
Artificial Intelligence (AI) is no longer a futuristic concept—it’s transforming how developers build and innovate applications today. To help Java developers harness the full potential of AI, Microsoft’s Azure AI App Templates gallery offers a growing collection of AI-powered application templates. These templates are designed to streamline development, showcase integration patterns, and accelerate your AI journey. With the Azure Developer CLI (azd), Azure OpenAI and other Azure services, and comprehensive templates for Java developers, building intelligent applications has never been more accessible. In this b...
Introducing the Modern Web App (MWA) Pattern for Java
We are thrilled to announce the Modern Web App (MWA) pattern for Java, a comprehensive guide to modernizing Java applications with independently scalable, cloud-native architecture on Azure. Designed with the Spring Framework and Azure in mind, MWA can also be adapted to other frameworks and cloud providers, providing Java developers with flexible and actionable strategies to modernize their applications. The MWA pattern marks the next stage in transforming monolithic web applications toward cloud-native architecture, with a focus on the Refactor modernization strategy. Building on the Reliable Web App (RWA) p...
Microsoft JDConf 2025: Building the future with Java
Technology is advancing faster than ever, and developers are leading the charge, driving digital transformation and reshaping businesses everywhere. With the rise of AI and cloud-native architectures, Java developers are uniquely positioned to shape the future of enterprise applications. Java remains one of the most widely used programming languages globally, with 45% of developers actively using it across enterprise applications, Android development, and cloud environments. This continued growth highlights Java’s adaptability, and JDConf provides an ideal space for experts to explore its potential in areas l...
Java on Azure Tooling Update – October 2024
Hi everyone, welcome to the October update of Java on Azure developer tools. In this update, we will introduce our Managed Identity Support for Azure Functions in Azure Toolkit for IntelliJ IDEA. Additionally, we are launching a new series called Java on Azure Tooling Guide, and in our first post, we will discuss using App Service with the Azure Toolkit. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolk...
Announcing Technical Preview of the GitHub Copilot upgrade assistant for Java
As AI and LLMs continue to evolve, agentic workflows are rapidly emerging as the next wave of AI-assistance. Agentic workflows allow AI systems to coordinate tasks and make decisions with minimal human input. These systems use autonomous agents in their workflow and can bring enormous benefits as they can create plans, perform individual tasks, employ external tools, interact with users, fix errors, and write code! These capabilities allow agentic workflows to address complex, mission-critical, and often tedious tasks in enterprise development cycles. One such challenge is upgrading Java runtimes, frameworks...
Java OpenJDK October 2024 Patch & Security Updates
Hello Java customers! We are happy to announce the latest October 2024 patch & security update release for the Microsoft Build of OpenJDK. Download and install the binaries today. Check our release notes page for details on fixes and enhancements. The source code of our builds is available now on GitHub for further inspection: jdk21u, jdk17u, jdk11u. Microsoft Build of OpenJDK specific updates OpenJDK21 OpenJDK17 OpenJDK11 Summary of Upstream Updates OpenJDK 21 OpenJDK 17 OpenJDK 11 OpenJDK 8 We continue to provide...
Java on Visual Studio Code Update – September 2024
Hi everyone, welcome to the September update for Visual Studio Code for Java! In this blog, we will cover some important Spring feature updates and Gradle enhancements, let's get started! Spring Updates Explain SpEL expressions, query statements, and AOP pointcut expressions with GitHub Copilot SpEL expressions, query statements, and AOP pointcut expressions can sometimes be challenging to craft, but if you are using GitHub Copilot in your Visual Studio Code environment, the Spring Tools now show code lenses above these expressions that allow you to quickly let GitHub Copilot explain those statements for you. ...
Jakarta EE on Azure – September 2024
Hi everyone, welcome to the September 2024 update for Jakarta EE on Azure. The September 2024 update covers the most popular workshop series- Build, run and monitor intelligent Java apps on Azure Container Apps with Azure OpenAI, along with the latest updates on our Quarkus Azure extensions and other offers. Microsoft partners with Jakarta EE application server vendors to create Azure Marketplace offers. These Marketplace offers have Solution Templates and Base Images which allow customers to quickly deploy their software on Azure Virtual Machines (VMs), Azure Kubernetes Service (AKS), Azure Red Hat OpenShift....
Java on Visual Studio Code Update – August 2024
Hi everyone, welcome to the August update for Visual Studio Code for Java! In this blog, we will cover important Gradle updates, more user experience improvements, and an improved getting started experience, let's get started! Gradle Updates Adding Gradle for Java into Extension Pack for Java Some of our users might have noticed that recently in Extension Pack for Java, an extension called "Gradle for Java" was added into this pack. Here we want to offer some background behind this change Gradle for Java extension is an extension that's dedicated to offer Gradle support on Visual Studio Code. We have been a...
Java on Azure Tooling Update – August 2024
Hi everyone, welcome to the August update of Java on Azure developer tools. In this update, we will introduce our Managed Identity Support for Azure App Service in Azure toolkit, and General Availability of Java experiences on Azure Container Apps. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Managed Identity Support for Azure App Service Managed Identity is a feature in Azure that simplifies the management of credentials for applications. For more d...
Reliable Web App – Reliability Patterns
As applications migrate to the cloud, they must be designed to handle inevitable failures gracefully. Network issues, service outages, and other transient faults are common in distributed systems. Without proper handling mechanisms, these failures can lead to system instability and poor user experiences. This is why Retry and Circuit Breaker patterns are essential. The Retry pattern allows applications to recover from temporary failures by reattempting failed operations, while the Circuit Breaker pattern helps prevent cascading failures by stopping attempts to perform an action that is likely to fail, there...
Microsoft Build of OpenJDK – July 2024 Patch & Security Update Release
Java OpenJDK July 2024 Patch & Security Updates Hello Java community! (Apologies for the late publishing of this post - things have been busy on the Java team and this one fell through the cracks!) We are happy to announce the latest July 2024 patch & security update release for the Microsoft Build of OpenJDK. See the release notes for detailed changes present in the Microsoft Build of OpenJDK binaries. And download or install the binaries today. Check our release notes page for details on fixes and enhancements. As a reminder, the source code of our builds is now available ...
Improving OpenJDK Scalar Replacement – Part 3/3
Welcome to the final part of our series on scalar replacement in OpenJDK. In the previous posts, we covered the basics of scalar replacement and detailed the improvements we introduced to the implementation. Now, it's time to see these enhancements in action. In this post, we'll present the results of our work, showcasing the performance gains achieved through our contributions. Benchmarking Figure 3 shows the execution time, in seconds, of a collection of synthetic JMH benchmarks. The blue bars show the time the program took to execute when the improvements were disabled, and the orange bars represent how ...
Java on Visual Studio Code Update – July 2024
Hi everyone, welcome to the July update for Visual Studio Code for Java! This blog will cover the latest Gradle enhancements, user experience improvements and new Spring features, so let's get started! Gradle enhancements HCR Support for Gradle Build Server HCR (Hot Code Replace) is an advanced feature that debugger supports in VS Code Java. It allows you to start a debugging session and change a Java file without restart, and the debugger will replace the code in the running JVM. Previously, this feature does not support Build Server for Gradle which is used in Gradle Extension. With our recent update, we hav...
Java on Azure Tooling Update – June 2024
Hi everyone, welcome to the June update of Java on Azure developer tools. In this update, we will introduce our Workload Profiles Support for Azure Container Apps in Azure Toolkit for IntelliJ IDEA. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Workload Profiles Support for Azure Container Apps In the May update, we announced that Azure Toolkit for IntelliJ has provided support for Java on Azure Container Apps(Java on ACA) with flexible deployment optio...
Java on Visual Studio Code Update – June 2024
Hi everyone, welcome to the June update for Visual Studio Code for Java! In this blog we are going to share several user experience updates, as well as important Spring features improvements, so let's get started! Project Settings Page Enhancements New Compiler Section A new compiler section was added to the project settings page. This allows you to conveniently set Java compiler related options for your project. Currently the options include source and target compatibility, --release option for cross compilation and customization for class file generation. See the screenshot below for the compiler section. ...
Improving OpenJDK Scalar Replacement – Part 2/3
In the previous part of this blog series, we explored the foundational concepts and purpose of scalar replacement (SR) in OpenJDK, laying the groundwork for understanding how this optimization can boost the performance of Java applications. Now, in the second installment of the series, we shift our focus to the specific enhancements that we have introduced to the SR implementation, highlighting how it lifts the constraints identified in the original SR implementation in the C2 compiler. The Improvement Listing 1 shows a version of the CompositeChecksum method that’s slightly different from the previous one. ...
Jakarta EE on Azure – June 2024
Hi everyone, welcome to the June 2024 update for Jakarta EE on Azure. The June update covers the following topics: Microsoft partners with Jakarta EE application server vendors to create Azure Marketplace offers. These Marketplace offers have Solution Templates and Base Images which allow customers to quickly deploy their software on Azure Virtual Machines (VMs), Azure Kubernetes Service (AKS), Azure Red Hat OpenShift. Additionally, within the Azure Learn platform, you’ll find an extensive collection of Java EE, Jakarta EE and MicroProfile documentation guidance. This documentation simplifies the pro...
Using Java with ACA dynamic sessions
Have you ever needed to just run your Java code in an instant-on container in the cloud without the hassle of managing your own Kubernetes server? How about having access to Open AI code interpreter built-in to that container and billed on a consumption basis? About Azure Container Apps and dynamic sessions Azure Container Apps (ACA) dynamic sessions provide fast access to secure, sandboxed environments that have access to Azure Open AI (AOAI) via a code interpreter. ACA dynamic sessions offer strong isolation, access through a REST API, and are automatically deleted when no longer in use. The fast startu...
Improved Performance of TLS 1.3 in Java JDK 8
Transport Layer Security (TLS) 1.3 is the latest version of the TLS protocol, built on the foundation of its predecessors, with significant improvements in terms of security, performance, and simplicity. TLS 1.3 is widely considered one of the most secure network protocols currently available. Support for TLS 1.3 across Microsoft Azure has started to roll out over the past year, and many services have either added support or now made TLS 1.3 the default. Java and TLS 1.3 Significant work was done by Oracle to implement TLS 1.3 in JDK 11 through JEP 332, then backported to JDK 8 8u272 (see...
Java on Azure Tooling Update – May 2024
Hi everyone, welcome to the May update of Java on Azure Tooling. In this update, we will introduce our getting started guide for Java on Azure Container Apps. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Getting Started Guide for Java on Azure Container Apps In the previous update, we have announced that Azure Toolkit for IntelliJ has provided support for Java on Azure Container Apps (Java on ACA) with flexible deployment options. For Java developers w...
Java on Visual Studio Code Update – May 2024
Hi everyone, welcome to the May update for Visual Studio Code for Java! In this blog we are going to share an exciting new AI related feature for Java developers on Visual Studio Code. In addition, there will be several important Spring updates, so let's get started. Rewriting your Java code with Copilot-based suggestions As our code undergoes updates and iterations, our business logic continues to grow in complexity. Meanwhile, Java versions are constantly evolving. Often, our older code can be replaced with newer, more efficient alternatives, not only improving their performance but also making the code more ...
Improving OpenJDK Scalar Replacement – Part 1/3
Scalar replacement (SR) is a powerful optimization technique in OpenJDK that aims to enhance the performance of Java applications by breaking down complex objects into simpler, more manageable scalar variables. In this three-part blog series, we will delve into the intricacies of scalar replacement and the enhancements we've contributed to the OpenJDK implementation of it. The first post will provide an overview of scalar replacement, explaining its purpose and fundamental mechanisms. The second post will detail the specific improvements we have made. Finally, the third post will present the results of these impr...
Announcing Java on Azure Container Apps Support for Java on Azure Developer Tools
During Build 2024, it was announced that Azure Container Apps now offers a rich set of operational capabilities for Java Developers. (Full details on this blog). We are excited to share that Azure Toolkit for IntelliJ has provided support for Java on Azure Container Apps(Java on ACA) with flexible deployment options. With this support, Java developers can build and deploy their apps with either source code on GitHub repo or with local artifacts, for a new ACA app or an existing ACA app. This will empower developers to run containerized Java applications in the cloud, and strengthen security posture and better a...
Announcing Functions Flex Consumption Support for Java on Azure Developer Tools
Azure Functions Flex Consumption has just been announced during Microsoft Build 2024 (Full details on this blog), we are excited to share that Flex Consumption is now also supported on Azure Toolkit for IntelliJ and Maven plugins for Azure Functions. With this support, Java developers can create and deploy their Flex Consumption apps easily using our tools. You can run your serverless Java apps for event driven scale with negligible cold-start latency and continuously ready instances on Flex Consumption. Watch these demos below to build your Azure Functions app with Flex Consumption, &nbs...
Java on Visual Studio Code Update – April 2024 (Roadmap Update)
Hi everyone, welcome to the April update for Visual Studio Code for Java! In this blog we are going to share our roadmap for the next few months, and also recent product updates such as JDK 22 support and redesigned Project Settings experience, so let's get started! Roadmap for the next 6 months We are excited to share our roadmap for the next six months! This roadmap is based on a lot of feedback from our users so we want to thank the community for providing all the input. We will continue to work with our partner Red Hat to deliver the best experience for Java developers on Visual Studio Code. Here are the ma...
Microsoft Build of OpenJDK – April 2024 Patch & Security Update Release
OpenJDK April 2024 Patch & Security Updates We are happy to announce the latest April 2024 patch & security update release for the Microsoft Build of OpenJDK. See the release notes for detailed changes present in the Microsoft Build of OpenJDK binaries. And download or install the binaries today. The latest versions are now: Check our release notes page for details on fixes and enhancements. As a reminder, the source code of our builds is now available on GitHub for further inspection: jdk21u, jdk17u, and jdk11u. Microsoft Build of OpenJDK specific updates OpenJDK 21 OpenJ...
The Reliable Web App Pattern for Java with Enhanced Security and Scalability on Azure
To help you understand and use the RWA pattern, we’ve created a comprehensive collection of materials that describe it in full. You can review the documentation and access the production-quality, ready-to-deploy web application - Reference Implementation. The latest update to The Reliable Web App Pattern for Java builds on its initial promise to facilitate the migration of legacy Java applications to Azure, now with a sharper focus on enhancing the production infrastructure. This enhancement responds directly to user feedback, particularly around the value of Infrastructure as Code (IaC) with Terraform best pr...
Upcoming on the 6-Month Roadmap for Java on Azure Tools
Hi everyone, welcome to the March update of Java on Azure Tooling. In this update, we will share our investments for the next few months of Java on Azure Developer Tools. Besides, we will introduce the support for managing resources using connection strings. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Roadmap Update We are excited to announce our roadmap for the next few months. Our goal is to consistently enhance the code-to-cloud experience for Java developers which allows them to seamles...
Java on Visual Studio Code Update – March 2024
Hi everyone, welcome to the March update for Visual Studio Code for Java! In this blog we are going to share several new Spring Boot features as well as testing coverage updates, so let's get started! Spring Boot Feature Updates New Refactoring Preview available for version upgrades The feature to automatically upgrade your projects to the latest Spring Boot version now allows you to choose between applying those changes directly to your project or previewing them in a refactoring preview. The refactoring preview gives you an exact diff for all the changes that the automated version upgrade process produced an...
JDConf and Microsoft Reactor: A chance to win prizes
Have you ever thought about watching a free online event and potentially winning prizes? Microsoft JDConf happens this March 27th and 28th with 3 different editions, each one friendly to major timezones: Americas, Asia, and Europe/Middle East/Africa. If you haven't already, register free to watch the events at jdconf.com. To participate in the prize contest, you must be one of the first 200 developers to check-in on one of any editions at the time the events start, through the Microsoft Reactor, and you must do so with a signed-in Microsoft Account. Now, let's say you are one of the lucky 600 developers. Yo...
Java on Azure Tooling Update – February 2024
Hi everyone, welcome to our February update of Java on Azure Tooling in 2024. In this update, we will introduce the support for hosting Function apps on Azure Container Apps. Additionally, we will talk about our improvements for Azure Container Registry in the Services View within IntelliJ IDEA. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Support for hosting Function apps on Azure Container Apps Azure Functions provides integrated support for develop...
Entering The One Billion Row Challenge With GitHub Copilot
Let's say you have a text file with one billion rows. Each row represents a measurement from various weather stations. You must write a Java program which reads the file, calculates the min, mean, and max temperature value per weather station, and displays the results sorted alphabetically by station. How fast do you think you could process this file? Welcome to the One Billion Row Challenge (1BRC). The 1 billion row challenge The beginning of 2024 got the Java community very excited. On the first of January, Gunnar Morling (Java Champion) announced on his blog the One Billion Row Challenge (1BRC). The idea was...
Jakarta EE on Azure – February 2024
Hi everyone, welcome to the February 2024 update for Jakarta EE on Azure. Microsoft partners with Jakarta EE application server vendors to create Azure Marketplace offers – with Solution Templates and Base Images that allow customers to quickly deploy their software on Azure Virtual Machines, Azure Kubernetes Service, Azure Red Hat OpenShift, and Azure Container Apps. Additionally, there is a wide range of Jakarta EE and MicroProfile documentation guidance provisioned in Azure Learn platform with intent to make it as easy as possible to get started with production ready deployments utilizing best practices from J...
Java SDK for Semantic Kernel 1.0.0-rc2 Released – Add AI capabilities to your Java app today!
Hello Java developers! On the 19th of July 2023, we announced the first public alpha release of the Microsoft Semantic Kernel for Java. Today, we are thrilled to announce 1.0.0-rc2 as our first public Release Candidate of the Microsoft Semantic Kernel for Java! This Java library opens new developer possibilities by seamlessly integrating AI services like OpenAI and Azure OpenAI with conventional and Java idiomatic programming. Now, it is much easier to enhance existing code (business logic) with AI! What is Semantic Kernel for Java? Semantic Kernel for Java is an open-source library that empowers develop...
Java on Visual Studio Code Update – February 2024
Hi everyone, welcome to the February update for Visual Studio Code for Java! In this blog we are going to share improvements for the project management experience as well as Maven multi-module support, so let's get started! More Convenient Ways to Create New Java Projects We have often heard from developers that they need more convenient options to create Java projects and classes. In the latest release, we have added two more new points to create new Java projects. This includes File Menu and File Explorer. Now users can directly can go to the File Menu, click "New File", and find "New Java Project" as an opti...
Speed up your Java Development on Windows with Dev Drive
An overwhelming majority of Java developers work on Windows devices. Developers, IDE and cloud service providers are constantly looking for ways to enhance efficiency and reduce build times. Dev Drive is a tool specifically designed to optimize the development environment on Windows, including significant performance improvements for Java development. What is Dev Drive? Dev Drive is a novel storage solution, built upon Resilient File System (ReFS). ReFS is a Microsoft file system format designed to maximize data availability, scale efficiently to large data sets across diverse workloads, and provide data integ...
Monitor your Spring Boot native image application on Azure
You have just developed your Spring Boot native image application. You want to deploy it on Azure. How can you determine if your application is running well, detect errors in HTTP requests, or identify slow SQL queries? We are going to show you how to monitor a Spring Boot native image application on Azure. Monitoring set-up Add the Azure starter monitoring Let's take the classic Petclinic application for our example. Clone the Petclinic project: We will use the Azure Monitor OpenTelemetry Distro / Application Insights in Spring Boot native image Java application project which is a Microsoft distribution...
Microsoft JDConf 2024 Announces Keynote Speaker and Breakout Sessions – Java, Cloud and AI
Microsoft JDConf 2024 is just around the corner, making it the go-to event for Java developers everywhere. With 21 sessions, more than 10 hours of live streaming content, and even more to watch on-demand from March 27 to 28, this conference is your free ticket to the latest in Java technology, best practices, and what is next. Whether you are interested in JVM improvements, generative AI, cloud deployments, or just getting better at Java development, JDConf has something for everyone. We are also grateful for the huge number of breakout session proposals we got from the community. Thank you all for your enthusias...
Meet the First Round of Speakers for Microsoft JDConf 2024: Where Java, Cloud, and AI Come Together
We are excited to announce the initial lineup of speakers for Microsoft JDConf 2024, the highly anticipated virtual Java developer conference. This event, scheduled for March 27-28, 2024, will bring together the realms of Java, Cloud, and AI. JDConf is poised to be a center for the latest in technology, offering opportunities for all developers to learn and network. First Round JDConf 2024 Speakers and Sessions Check out the selection of our speakers who will share invaluable insights blending Java, cloud computing, and AI into an integrated, forward-looking narrative. ...
Java on Visual Studio Code Update – January 2024
Hi everyone, welcome to the first update for Visual Studio Code for Java of 2024! We hope everyone had a refreshing break. In this blog we have some exciting updates for the new Test Coverage UX as well as reliability and general user experience updates, so let's get started! Update of Java 21 Feature Support As shared in our roadmap blog post last December, integrating JDK 21 support is a key focus in enhancing fundamental experience. Following its release, many efforts have been done to supports its features. We're pleased to share our progress. Here's a summary of the features we currently support and those ...
Java on Azure Tooling Update – January 2024
Hi everyone, welcome to our first update of Java on Azure Tooling in 2024. In this update, we will introduce Azure Key Vault support, project scaffolding based on Azure samples and Azure Kubernetes experience enhancement. We hope you enjoy these updates and have a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Azure Key Vault Support Azure Key Vault is a service that allows you to securely store and manage your secrets, keys, and certificates in Azure. We have always heard from our developers tha...