Microsoft for Java Developers
News, updates, and insights for Java development with Microsoft tools, Azure services, and OpenJDK.
Latest posts
What’s the deal with humongous objects in Java?
As a Software Engineer in Microsoft’s Java Engineering Group, part of my job is to analyze and improve the performance of Java’s garbage collectors. As a Java application runs, the garbage collector is responsible for allocating objects on the heap and freeing up heap space when those objects are no longer live. In this blog post, I’ll focus specifically on how the GC handles different volumes of live data and objects of various sizes. If you're running JDK 11 or later (and you should be), the default garbage collector is the Garbage First Garbage Collector (G1 GC). G1 is a regionalized collector, meaning tha...
Two million Java developers on Visual Studio Code! November 2022 Update
Hi everyone, we are excited to share that now there are over two million Java developers on Visual Studio Code, this wouldn't be possible without all the support from the community and our users, so thank you! For November update, we are bringing you new code editing feature such as postfix completion, optimized organize import. In addition, debugger gets a nice update as we support a new feature called “Step Into Target”. Lastly, we made some visual enhancements to the Spring components, so let’s get into it. Postfix Completion Postfix completion lets you add code snippets around an expression you’ve just t...
Java on Azure Tooling Update – October 2022
Hi everyone, welcome back to the October update of Java on Azure Tooling. In this update, we will introduce our new roadmap in the next few months. In addition, we have made some improvements for developers to use deployment slots for Azure Functions in IDEs directly with our latest release. Please download and install the Azure Toolkit for IntelliJ. We hope you like these features and enjoy a smooth experience with our Azure toolkit. So let us get started. Roadmap Update Let’s talk about our investments for the next few months of Java on Azure Tooling. Our goal is to provide a seamless code-to-cloud experien...
Microsoft Build of OpenJDK – October 2022 PSU Release
We are happy to announce the latest patch & security update release for the Microsoft Build of OpenJDK. You can find the usual updates from the OpenJDK upstream community: And you can also see the additional work that our team has put in place in our builds through the release notes. Starting with this release, developers can also see the exact changes we specifically made to our builds by inspecting the source code in our newly established Microsoft repositories for jdk17u and jdk11u. New Experimental Feature In this release, we have added a new experimental feature to improve the results of E...
Java on Visual Studio Code Update – October 2022
Hi everyone, welcome to the October update of Visual Studio Code Java. We have brought a lot of improvements in code editing and debugging experience this time, so let's get started! Debugging Experience Enhancements Visual indicator for inline breakpoints Consider a line like this: Stream.of("Frank").map(name -> name.toUpperCase()).forEach((item -> System.out.println(item)); Now when you set a breakpoint on this line, Visual Studio Code will automatically identify the lambda expressions in this line, and visualize them with grey dots. If you want to further set inline breakpoints on those lambda...
Java on Azure Tooling Update – September 2022
Hi everyone, welcome back to September update of Java on Azure Tooling. In this update, we will introduce the Azure Cosmos DB Support, and Azure Virtual Machine Enhancement. In addition, we have made some improvements for users to create/update the dependencies with Azure SDK Reference Book. Please download and install the Azure Toolkit for IntelliJ. We hope you like these features and enjoy the smooth experience with our Azure toolkit. So let us get started. Azure Toolkit for IntelliJ Improvements Azure Cosmos DB Support Database management support is always one of our key investment areas. Azure Cosmos DB ...
Java on Visual Studio Code Update – September 2022
Hi everyone, welcome to the September update of Visual Studio Code Java. We have tons of exciting new features this time, and there are improvements in many areas such as project import, Spring support, remote debugging and unit testing, so let's get started! Protobuf (Protocol Buffer) project support Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. Previously, if a Java project involves protobuf, our Java extensions won't work very well and you will be likely to encounter lots of unrecognized classes. This is because our extensions couldn't de...
Java on Visual Studio Code Update – August 2022
Hi everyone, welcome to the August update of Visual Studio Code Java. In this month's update, we have brought more exciting features for Spring as well as improvements for build tools and debugging experience. Let's get started! Spring enhancements Spring enhancements has been one of our top focuses this year. In our latest release, we are excited to bring more Spring features to Java developers. Spring bean properties when live process is connected Bean property is a key attribute that Spring developer often needs to look at. We have heard about this feedback and added this information to the Spring dashboar...
A Concise Guide to Using Multiple Azure Storage Accounts from a Single Spring Boot Application
Spring projects in general are opinionated: 80-90% of use cases are handled "by default", and code is often much more concise than would be required otherwise due to Spring's preference of convention over configuration. These and other "opinions" can result in dramatically less code to write and maintain and as a result, more focused impact. In the vast majority of cases where Azure Storage is used from an application, there is no compelling advantage to using more than a single Azure storage account. But there are edge cases, and having the ability to use multiple Azure Storage accounts from a single app - ev...