SiriusNEO / CoconutJVM

A toy JVM (Java Virtual Machine) written in C++. For learning purpose.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coconut JVM

    ________  ________  ________  ________  ________   ___  ___  _________   
   |\   ____\|\   __  \|\   ____\|\   __  \|\   ___  \|\  \|\  \|\___   ___\ 
   \ \  \___|\ \  \|\  \ \  \___|\ \  \|\  \ \  \\ \  \ \  \\\  \|___ \  \_| 
    \ \  \    \ \  \\\  \ \  \    \ \  \\\  \ \  \\ \  \ \  \\\  \   \ \  \  
     \ \  \____\ \  \\\  \ \  \____\ \  \\\  \ \  \\ \  \ \  \\\  \   \ \  \ 
      \ \_______\ \_______\ \_______\ \_______\ \__\\ \__\ \_______\   \ \__\
       \|_______|\|_______|\|_______|\|_______|\|__| \|__|\|_______|    \|__|

A toy JVM (Java Virtual Machine) written in C++. For learning purpose.

Support Java version:

About

About the project

This toy is created during my summer vacation. I began to be interested in JVM when I am working on JIT (Just-In-Time Compilation) and I am curious about its architecture and implementation.

About the name

We all know that Java is named after "Java Coffee", which is also a small Indonesian island. As a tropical island, it produces not only coffee but also coconuts in abundance. And that is why I choose the name "coconut" for this JVM.

References

Books

  • The Java® Virtual Machine Specification - Java SE 8 Edition

  • 《自己动手写Java虚拟机》

  • 《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》

3rd party

About

A toy JVM (Java Virtual Machine) written in C++. For learning purpose.


Languages

Language:C++ 98.3%Language:CMake 1.2%Language:Shell 0.5%Language:C 0.0%