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

Java OpenJDK January 2026 Patch & Security Update
Hello Java customers! We are happy to announce the latest January 2026 patch & security update release for the Microsoft Build of OpenJDK. Download and i...
Latest posts
Java OpenJDK January 2026 Patch & Security Update
Hello Java customers! We are happy to announce the latest January 2026 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 ...
Introducing Azure Performance Diagnostics Tool for Java: Automated Java Performance Analysis in Kubernetes via Azure SRE Agent
We're excited to announce that the Azure Performance Diagnostics Tool for Java is now available for preview as part of the Azure SRE Agent platform, bringing intelligent, automated Java performance diagnoses. Currently supporting Java workloads deployed to Azure Kubernetes Service (AKS) clusters. What is Azure Performance Diagnostics Tool for Java via Azure SRE Agent? The Azure Performance Diagnostics Tool for Java is a powerful new capability within Azure SRE Agent, an AI-powered service that automatically responds to site reliability issues. This feature enables development and operations teams to monitor, ...
Java at Microsoft: 2025 Year in Review
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 B...
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...
Microsoft Build of OpenJDK – January 2024 Patch & Security Update Release
Java OpenJDK January 2024 Patch & Security Updates Happy New Year Java community! We are happy to announce the latest January 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 are now available on GitHub for further inspection: jdk21u , jdk17u , and jdk11u . Microsoft Build of Ope...
Java on Azure Tooling Update – November 2023
Hi everyone, welcome to the November update of Java on Azure Tooling. In this update, we are excited to announce the feature of intelligent code assistance support for Azure resources connections in IntelliJ IDEA, which includes code completion, code navigation and code fix to improve developer productivity. 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 Intelligent Code Assistance Support In October’s blog, we introduced our intelligent code assistance ...
Java on Visual Studio Code Update – December 2023
Hi everyone, welcome to the December update for Visual Studio Code for Java! We wish everyone a Merry Christmas and Happy New Year! In this blog we have tons of exciting new features including test coverage, UX updates as well as Spring Boot updates. Let's get started! Test with Coverage in Visual Studio Code Insiders Test coverage is a metric which shows how much our test cases are covering the software code when we run those test cases. In previous versions, developers are not able to see the test coverage when they run tests in Extension Pack for Java, and test coverage is probably one of the most wanted fea...
Microsoft JDConf is back in 2024!
In a rapidly expanding digital world, the Java community stands out with its remarkable and unprecedented growth. According to a 24th edition of the State of Developer Nation survey, the Java community has seen incredible growth over the last two years, gaining nearly 8M developers and reaching just over 17M globally. This remarkable trend sets Java apart, signaling its vital role in shaping the future of technology. This explosive growth sets the stage for the groundbreaking discussions and innovations we will showcase at Microsoft JDConf 2024. Announcing Microsoft JDConf 2024 – Aired live on March 27/28, ...
2.5 million Java developers on Visual Studio Code! Roadmap for the next 6 months
A big big thank you to the community! Hi everyone, we are thrilled to share that Visual Studio Code now has a community of over 2.5 million Java developers. Much like our achievements in the past, this incredible milestone wouldn't have been possible without the support from our amazing community and users, and for that, we want to extend our heartfelt gratitude! Joint announcement: Microsoft and Red Hat shares roadmap of Visual Studio Code Java for next six months As a special update for this month, we are excited to share our roadmap for the next few months in collaboration with Red Hat. This collaboration...
Unveiling our 6-Month Roadmap for Java on Azure Developer Tools
Hi everyone, welcome to the October 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 also introduce the support for VMWare Tanzu App Accelerator extension in the VS Code Extension for Azure Spring 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. Roadmap Update We are delighted to announce our roadmap for the next six months. Our goal is to provide a smooth code-to-cloud user journey to h...
Announcing the Build Server for Gradle Open-Source Repository
Build Server for Gradle In September, we shared that Microsoft and Gradle have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). The objective is address the existing Gradle issues on Visual Studio Code and improve support for Gradle projects. The Build Server for Gradle, developed in collaboration with Gradle, will delegate build tasks to the Gradle build tool, which will be responsible for compiling and generating code directly. This ensures that the results of building in Visual Studio Code will be consistent with the output obtained ...
Jakarta EE on Azure – November 2023
Hi everyone, welcome to the November 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 in Azure Learn platform to make it as easy as possible to get started with production ready deployments utilizing best practices from both Jakarta EE application se...
Java on Azure Tooling Update – September 2023
Hi everyone, welcome to the September update of Java on Azure Tooling. In this update, we will introduce our support for Azure OpenAI Service and Playground, which lets developers use prompts and settings to experiment with various models from OpenAI, and generate code samples based on Java SDK, JSON and Curl. We have also brought some updates on the Azure Toolkit for Eclipse. We hope you like these features and enjoy a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. September Release and Feature Summary Support Azure OpenAI Service an...
Announcing Microsoft Build of OpenJDK 21
Today we are excited to share the Microsoft Build of OpenJDK 21 binaries for download. The release of Java 21, which includes both Language and Virtual Machine specifications changes, contains a series of features that sets Java 21 apart from many previous releases. Similarly to how Java 5 changed Java development with the introduction of Generics, and Java 8 with the introduction of Lambdas, the Java community expects the 21st release to significantly and positively impact the Java ecosystem, and we are thrilled to be part of this era of Modern Java Development. Java 21 came right at a time when Fall starts on...
Elevating Java Development in Visual Studio Code: Experience the new Build Server for Gradle
Introducing Build Server for Gradle In recent years, Gradle has become one of the most popular Java build tools due to its flexibility in configuring build processes and its powerful extensibility. In Visual Studio Code, users can import Gradle projects into their workspace for development. However, there are some areas where support for Gradle projects is not entirely satisfactory, with two major issues that users have below: To address these issues, Microsoft and Gradle have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). ...
Reliable Web App Pattern on Azure for Java
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 and ready-to-deploy web application - Reference Implementation. The Reliable Web App Pattern We’re excited to announce the release of a new video series on the Reliable Web App Pattern (RWA) using Java! The RWA pattern is intended to help developers successfully re-platform their Java apps to the cloud and set a foundation for future Java modernization in Azure. The Reliable Web App pattern builds on the Azure Well-A...
Microsoft at Devoxx Belgium 2023: Pioneering the Future of Java with Intelligent Apps
Microsoft is thrilled to be part of the 20th edition of Devoxx Belgium from October 2-6, in Antwerp, Belgium. Last year's event attracted over 3,200 attendees, and this year is shaping up to be equally impactful. The conference will cover Cloud, Big Data, Security, Architecture, Programming Languages, and importantly, the evolving fields of AI and Java, and more. With the upcoming release of Java 21, this year's emphasis on AI and Java promises a valuable learning experience. Exploring the core themes Spring Apps: Spring continues to be a bedrock for crafting resilient and scalable java applications. We wil...
Java on Azure Tooling Update – August 2023
Hi everyone, welcome to the August update of Java on Azure Tooling. In this update, we will introduce new application-centric view support to help developers manage and connect resources in one Project view and deployment status improvement for Azure App Service. We hope you like this feature and enjoy smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. August Release and Feature Summary New Application-centric View Support In April’s blog, we introduced our application-centric experience in the roadmap. For developers who use Azure Explor...
Java on Visual Studio Code – August 2023
Hi everyone, welcome to our August update for Visual Studio Code for Java! In this blog we are going to provide you more improvements about de-compiler support. Additionally, we are going to show creating Maven projects without archetype and important code highlighting bug fix. Let's get started! More Decompiler Support Improvements When we introduced the powerful Fernflower de-compiler to our extensions in our last blog, we received great feedback from the community. However, there were still some enhancements we can make based on the current experience. In our latest experience, we have improved the support f...
Important Notice: Update your Azure Toolkit to latest version before September 30, 2023
We would like to inform you that the Docker host feature in Azure Toolkit will be affected by some internal architecture changes related to Azure Active Directory Graph API. For more details, please visit this page. Please follow the steps below to check your versions of Azure Toolkit and update them if needed: To avoid any disruptions, we strongly recommend that you update your Azure Toolkit to the latest version before September 30, 2023. The Docker host feature may stop working after that date. If you have questions, please create a support request on our ...
How Tiered Compilation works in OpenJDK
The OpenJDK HotSpot runtime system is a complex piece of software that employs several techniques to optimize the execution of Java programs on the fly. The system is composed of two different compilers, one interpreter and several different Garbage Collectors, among several other components. These compilers are orchestrated in a tiered compilation mechanism which tries to use the most suitable compiler for each method. HotSpot has the critical goal of generating efficient machine code while keeping the runtime cost at a minimum. To achieve that it employs various strategies, such as tiered compilation, dynami...
Java on Azure Tooling Update – June 2023
Hi everyone, welcome to the June update of Java on Azure Tooling. In this update, we will introduce Azure Spring Apps Standard Consumption and Dedicated plan support and Local Storage Account (Azurite) support. We hope you like these features and enjoy a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. June Release and Feature Summary Azure Spring Apps Standard Consumption and Dedicated Plan Support Azure Spring Apps has introduced a new way to pay for its service – the consumption pricing plan, which is now available in public preview. ...
Java on Visual Studio Code – July 2023
Hi everyone, welcome to our July update for Visual Studio Code for Java! In this blog we are going to provide you an exciting update about our improved decompiler functionality. Additionally, we are going to do a deep-dive into our code completion. Let's get started! Decompiler Experience Upgrade Java decompiler is essential for understanding third-party libraries, debugging, and learning from well-written code. It helps the developer to reverse engineer compiled Java bytecode back into human-readable Java source code, enhancing the productivity and code comprehension. Previously, users have reported that ou...
Microsoft Build of OpenJDK – July 2023 Release
Hi Java community! We are happy to announce the latest July 2023 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. All binaries are available on their usual locations. For more details, see the download page. New feature enabled by default The release of MS Build of OpenJDK 17 and 11 now include an enhancement on escape analysis. With this feature, we identified latency improvements up to 13% on controlled benchmarks. The feature has...
Jakarta EE on Azure – July 2023
Hi everyone, welcome to July update for Jakarta EE on Azure. Microsoft partners with Jakarta EE application server vendors to create Azure Marketplace offers that allow customers to quickly deploy their software on Azure Virtual Machines, Azure Kubernetes Service, Azure Red Hat OpenShift. Besides, lots of Jakarta EE and MicroProfile topics are also provisioned in Azure Learn platform. To refresh your experience of using Java EE, Jakarta EE, and MicroProfile on Azure, here are news you should know. App Gateway Support for Azure Virtual Machines Our Marketplace solutions on Azure Virtual Machines (VMs) are all en...
Java on Visual Studio Code – June 2023
Hi everyone, welcome to the our June update for Visual Studio Code for Java! In this blog we are going to provide you an update about our code completion performance improvement, user experience enhancements in both unit testing and project creation, so let's get started! Code Completion Performance Improvement Faster code completion is a crucial aspect of any developer tool that can greatly enhance coding productivity. In the past, we have heard from our users they felt Java code completion was slow sometimes which has impacted their work. As a result, we have been researching into how to make it faster and as...
Java on Azure Tooling Update – May 2023
Hi everyone, welcome to the May update of Java on Azure Developer tools. In this update, we will introduce Azure Container Registry User Journey Enhancement and Azure Monitor Improvement. We hope you like these features and enjoy a smooth experience with our Azure toolkit. Please download and install the Azure Toolkit for IntelliJ. Let’s get started. May Release and Feature Summary Azure Container Registry User Journey Enhancement Azure Container Registry is a managed registry service based on the open-source Docker Registry 2.0. As part of a container development workflow, developers can use Azure Container...
Java on Visual Studio Code – May 2023
Hi everyone, welcome to our May update for Visual Studio Code Java! In this month's blog, we have tons of new features covering performance improvement, user experience as well as Spring Boot integration, so let's get started. Built-in Java Profile Templates in VS Code Profiles is a recent feature from VS Code that allows you to quickly switch your editor extensions, settings, and UI layout based on your current project or task. Starting in VS Code version 1.78, we have provided two built-in Java profile template for you to use. The two Java profiles are Once you switch to these profiles, you c...
Java on Azure Tooling Update – April 2023
Hi everyone, welcome to the April update of Java on Azure Tooling. Let’s talk about our investments for the next few months of Java on Azure Developer Tools. In this update, we will also introduce Azure Service Bus Support and Guided Getting Started Enhancement with Azure Spring Apps Sample. We hope you like these features and enjoy the experience with our Azure toolkits. 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 provide a smooth and frictionless code-to-cloud journey for Java dev...
Java on Visual Studio Update – April 2023
Hi everyone, welcome to our April update for Visual Studio Code Java! In this blog we are going to talk about important debugging experience improvements, profile support in Maven extension, new Java Project Explorer UX, and Spring Boot Dashboard visualization enhancements. There is a ton of cover, so let's get started. Profile Support in Maven extension Maven profiles can optimize your build process by allowing you to configure specific build configurations and execute specific build phases for different environments or goals. They save time and reduce errors, as you don't have to maintain multiple POM files. ...
Microsoft Build of OpenJDK – April 2023 Release
We are happy to announce the latest April 2023 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 are now available on GitHub for further inspection: jdk17u and jdk11u. New Experimental Feature We continue to experiment an improved Escape Analysis. You can read more from our October release. To enable this feature, developers must use the f...
Embracing Virtual Threads: Migration Tips for Java Developers
As a Java developer, you may have already heard about virtual threads, a powerful feature introduced in Project Loom. Virtual threads provide a lightweight alternative to traditional threads, making writing scalable and efficient concurrent code easier. In this blog post, we will discuss migration tips for Java developers who want to make the most of virtual threads. Understand the differences between virtual and native threads Before diving into the migration, it’s crucial to understand the fundamental differences between virtual threads (also known as “fibers”) and native threads. The operating system manages...
Java on Azure Tooling Update – March 2023
Hi everyone, welcome to the March update of Java on Azure Tooling. In this update, we will introduce Azure Event Hubs Support, Templates Enhancements for Azure Functions, and Log Streaming Improvements for Azure Spring Apps during deployment in IntelliJ IDEA. To use these new features, please download and install the Azure Toolkit for IntelliJ. Let’s get started. Azure Toolkit for IntelliJ Improvements Azure Event Hubs Support Azure Event Hubs is a fully managed, real-time data ingestion service that can stream millions of events per second. You can use Azure Event Hubs to build dynamic data pipelines and ge...
Java on Visual Studio Code Update – March 2023
Hi everyone, welcome to our March update! In this blog we will bring you fundamental improvements such as smarter code completion for AWT packages, more smooth experience for running Java programs as well as better Spring Boot integration with Azure Spring Apps. Smarter Code Completion for AWT packages The AWT (Abstract Window Toolkit) package in Java is a extremely popular tool for students to create GUIs for their programs. In the past, we have hidden the types from AWT because it can be a lot of noise to the code completion for developers in other occasions. To enable code completion for AWT, you would have ...
End to End Java on Azure, Episode 1: Introduction and Context
I’m excited to announce an idea that that came to me late last year and that I’m making official now: over the next several weeks, I’ll be building – and sharing – a distributed system of applications to show off some incredibly cool and useful things developers can do with Spring Boot, Java, and various parts of the Azure ecosystem, working together in production environments for critical workloads. There are so many tools at a developer’s fingertips that it just seemed wrong to explore them without sharing them. The plan is to put them all together in an evolving and expanding system portfolio and document t...
Java on Azure Tooling Update – February 2023
Hi everyone, welcome to the February update of Java on Azure Tooling. In this update, we will introduce the enhancement for Azure Container Apps and Azure Monitoring Support in IntelliJ IDEA. To get these new features, please download and install the Azure Toolkit for IntelliJ. We hope you enjoy these features, and let’s get started. Azure Toolkit for IntelliJ Improvements Azure Container Apps Enhancement In January’s update, we added the support for managing Azure Container Apps resources. In February, we have further improved the feature for Azure Container Apps. To create an Azure Container App instance, ...
Java on Visual Studio Code Update – February 2023
Hi everyone, welcome to our February update! In this blog we will bring you new features related to JUnit 5 parallel testing as well as new filter widget for Spring Boot dashboard. There is also some exciting news from GitHub Copilot, so let's get started. JUnit 5 Parallel Testing Support JUnit 5 is a popular testing framework for Java developers, known for its comprehensive support for unit, integration, and functional testing. One of the significant improvements in JUnit 5 is its ability to execute tests in parallel, making testing faster and more efficient. Parallel execution distributes test cases across mu...