________ ________ ________ ________ ________ ___ ___ _________
|\ ____\|\ __ \|\ ____\|\ __ \|\ ___ \|\ \|\ \|\___ ___\
\ \ \___|\ \ \|\ \ \ \___|\ \ \|\ \ \ \\ \ \ \ \\\ \|___ \ \_|
\ \ \ \ \ \\\ \ \ \ \ \ \\\ \ \ \\ \ \ \ \\\ \ \ \ \
\ \ \____\ \ \\\ \ \ \____\ \ \\\ \ \ \\ \ \ \ \\\ \ \ \ \
\ \_______\ \_______\ \_______\ \_______\ \__\\ \__\ \_______\ \ \__\
\|_______|\|_______|\|_______|\|_______|\|__| \|__|\|_______| \|__|
A toy JVM (Java Virtual Machine) written in C++. For learning purpose.
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.
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.
-
The Java® Virtual Machine Specification - Java SE 8 Edition
-
《自己动手写Java虚拟机》
-
《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》
-
C++ zip library: https://github.com/kuba--/zip
-
utf8-utf16 converter library: https://github.com/Davipb/utf8-utf16-converter