Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

On SO I was told there aren't really any good sources to learn about the JVM (Hotspot in particular) and JIT.

Is this true and if not, could I have some recommendations for books/websites/oracle technical papers which give good detail on what actually happens?

share|improve this question
4  
There is the Java Virtual Machine Specification, which is an in-depth technical document describing how a JVM should be implemented. There is the Java HotSpot whitepaper, which gives an overview of various parts of hotspot. As for JITing, you can search for JIT techniques or "adaptive compilation," but if there are any specific things you want to know, you should ask more about those resources. – birryree Apr 21 '12 at 23:08

closed as not constructive by gnat, Martijn Pieters, Kilian Foth, Bart van Ingen Schenau, MichaelT Apr 5 at 18:43

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

4 Answers

You could start with the Wikipedia article on the Hotspot JVM. There you would learn that it's free software, so you can study its implementation. The same holds true for all parts of the OpenJDK.

share|improve this answer

For me the most helpful in practice was article Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning. It is mainly about tuning JVM, but since tuning requires good knowladge how JVM works the article gives really in-depth understanding what's going on there.

share|improve this answer

There is an open-source research JVM: http://jikesrvm.org/ (with lots of presentations and publications on the website)

Jikes is a industrial-strength JVM with optimizing JIT-compiler, so it can help you find out lots of details about implementing JVMs. But obviously it isn't Oracle's Hotspot JVM. I'm not sure what exactly you are looking for, so just give it a look and decide for yourself.

share|improve this answer
I basically want to end up understanding how Hotspot optimizes but thanks for the link. – user997112 Apr 22 '12 at 23:12

The source code for the Hotspot JVM can be browsed online at http://hg.openjdk.java.net. Unfortunately, it takes a while to find your away around, but it's useful for looking up how specific things are done. I've found a lot of undocumented features by looking through the source code.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.