Simple Open-Source Java Virtual Machine in C
github.com
github.com
> The original Java memory model developed in 1995, was widely perceived as broken, preventing many runtime optimizations and not providing strong enough guarantees for code safety. It was updated through the Java Community Process, as Java Specification Request 133 (JSR-133), which took effect back in 2004, for Tiger (Java 5.0).
Java Language and Virtual Machine Specifications
https://docs.oracle.com/javase/specs/index.html
OpenJDK (About + implementation comparison table):
DISCLAIMER: not a Java expert or even practitoner.