MS Build of OpenJDK now with enhanced escape analysis enabled by default
learn.microsoft.com
learn.microsoft.com
OP shouldn't have renamed what's on the article linked "Release notes for the Microsoft Build of OpenJDK"
Hopefully a moderator fixes that
Mixing msbuild and Java would be so wrong.
Replacing cross-platform build tools with MSBuild might be a good approach if they want to have another go at it. They could build some really convenient integrations with VS Code and Azure. Maybe even integration with WSL2, so that your Java app for Linux only builds on Windows.
[1] https://www.justice.gov/atr/memorandum-united-states-support...
The Microsoft Build of OpenJDK is very much a build of OpenJDK that Azure customers can get free support for and over time get some Azure specific performance benefits from. Those performance benefits will be worked on upstream as well (like this escape analysis patch was) but there will be times where upstream won't want to take a patch on a stable LTS branch for example. We'll continue to be very clear when we have a patch that is not in the upstream code and it'll always be available on our GitHub under the GPLv2+CE license.
Looking at https://learn.microsoft.com/en-us/java/openjdk/faq they do it just for Azure, which kinda makes sense, Amazon did the same(custom build/fork) with Corretto.
What kind of Java software profits most from this?
Why not inegrate into mainline OpenJDK?
Regarding OpenJDK, here are some examples,
Amazon has Lambda SnapStart into their implementation, Azul uses a LLVM based JIT, their own pauseless GC and extensions for value types (ObjectLayout), Red-Hat ships Shenodah.
[0] https://github.com/openjdk/jdk/pull/9073 [1] https://github.com/openjdk/jdk/pull/12897
Please don't use visual studio to build your solutions if you are writing a cli app.
Their complex xml formats for solutions and projects are markedly inferior to makefiles imho! Mingw is the way for windows cli.
> This article lists the fixes contained in the releases of Microsoft Build of OpenJDK packages
It simply lists what they've added per tagged release and they link the source code. See sibling comment for actual builds.