5 ms·
I was pretty disappointed that, for a blog called "Inside the JVM", very little in the blog entry discussed goings on inside the JVM. For example, when does th
by SeanLuke 3y ago
I was pretty disappointed that, for a blog called "Inside the JVM", very little in the blog entry discussed goings on inside the JVM. For example, when does the JVM typically optimize away bounds or null checks? How are arrays of booleans packed and what is their efficiency compared to arrays of bytes or words?
- pjmlp 3y agoFor that you need an Inside Hotspot, Inside OpenJ9, Inside GraalVM, Inside Azul, Inside ART, Inside microEJ, Inside PTC, Inside JamaicaVM, Inside.... Otherwise is like trying to discuss what does a C compiler do, when only looking through the lens of the C abstract machine in ISO C.
- SeanLuke 3y agoThis is an Oracle blog, and it's called "Inside the JVM". What VMs do Oracle build besides Hotspot and its ilk?
- stefs 3y agoas far as i know, graalvm is also an oracle project
- aardvark179 3y agoGraalVM, the JVM inside various database products, historically the embedded VMs, and maybe a few more I’ve forgotten. :-)
- brabel 3y agoAs far as I know, all those distributions use OpenJDK for that kind of stuff and don't really do much more than apply a few patches here and there, not change stuff like how the JVM packs bytes in memory. Would be happy to be proven wrong.
- pjmlp 3y agoIBM OpenJ9 uses a mix of OpenJDK and their J9 toolchain. Azul uses parts of OpenJDK, alongside their JIT Falcon infrastructure. Microsoft OpenJDK based distribution has better escape analysis than regular one, although OpenJDK 22 should have those improvements merged. And no, not all of them use OpenJDk, it is an urban myth, as usual.
- brabel 3y agoThat would be much more convincing if you linked to a proper JDK distribution that's not based on the OpenJDK.
- pjmlp 3y agoLike on street markets, we are having bonus today, and you get two for the price of one. https://www.ptc.com/en/products/developer-tools/perc https://www.ptc.com/en/products/developer-tools/perc https://www.aicas.com/wp/products-services/jamaicavm/ https://www.aicas.com/wp/products-services/jamaicavm/
- brabel 3y agoBoth of these are meant for embedded development only. You implied before that there are major JDK distributions which are not based on OpenJDK, but these two examples do not show that: these are niche JDKs.
- deleted 3y ago[deleted]
- pjmlp 3y agoNot only I am not here to save people's work, those were two examples when you asked for one, and now proven wrong, got to move goalposts with additional stuff, because "those don't count oh oh". A JVM is a JVM, regardless of deployment scenarios and who gets to use them.
- wolf550e 3y agoYou want something like https://shipilev.net/jvm/anatomy-quarks/ https://shipilev.net/jvm/anatomy-quarks/ (the author is a jvm maintainer, formerly at redhat now at aws).
- impish9208 3y agoThanks for the link, that's an amazing resource!
- deleted 3y ago[deleted]
- andrewbinstock 3y agoAuthor here. Thanks for your comment. It's sometimes a little difficult to know how deeply to go into the innards of the JVM before readers' eyes glaze over and they can't follow. I'll bear in mind for future articles in this series that I can/should go deeper than the present level.