The Java virtual machine specification has been written to fully document the design of the Java virtual machine. It is essential for compiler writers who wish to target the Java virtual machine and for programmers who want to implement a compatible Java
The following is a list of programming languages for the Java virtual machine aside of Java itself. Currently (spring 2005), it comprises close to 200 different systems. It is a mix of experimental, research oriented implementations and of commercial ones
One of the aspects we have to work around building and improving a dynamic language implementation on the Java Virtual Machine is the way the JVM loads and executes bytecode. In order for JRuby to take advantage of the Hotspot just-in-time (JIT) compiler,
A. Yermolovich, A. Gal, and M. Franz. PPPJ '08: Proceedings of the 6th international symposium on Principles and practice of programming in Java, page 63--72. New York, NY, USA, ACM, (2008)
S. Shiel, and I. Bayley. Electronic Notes in Theoretical Computer Science, 141 (1):
35--52(2005)Proceedings of the First Workshop on Bytecode Semantics, Verification, Analysis and Transformation (Bytecode 2005).
J. Moreira, S. Midkiff, and M. Gupta. Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande, page 116--125. New York, NY, USA, ACM, (2001)
V. Kumar, D. Frampton, S. Blackburn, D. Grove, and O. Tardieu. Proceedings of the 2012 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA 2012), Tucson, AZ, October 19-26, 2012, volume 47 of SIGPLAN Notices, page 297--314. ACM, (October 2012)
C. Wimmer, S. Brunthaler, P. Larsen, and M. Franz. Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development, page 203--214. New York, NY, USA, ACM, (2012)