├── .gitignore ├── LICENSE ├── README.md ├── Zvm.py ├── base ├── __init__.py ├── jvm_config.py ├── stack.py └── utils │ ├── __init__.py │ ├── common_utils.py │ ├── error_handler.py │ └── print_utils.py ├── instruction ├── __init__.py └── instruction.py ├── interpreter ├── __init__.py ├── code_parser.py └── interpreter.py ├── java_class ├── __init__.py ├── class_file.py └── class_parser.py ├── jgc ├── __init__.py └── gc.py ├── jthread ├── __init__.py └── jthread.py ├── note.md ├── path_import.py ├── res ├── pic1.png └── pic2.png ├── runtime ├── __init__.py ├── heap.py ├── java_heap.py ├── jclass.py ├── jobject.py └── thread.py └── test ├── Hello$1.class ├── Hello$NOT.class ├── Hello$T.class ├── Hello$T1.class ├── Hello$T2.class ├── Hello$TestException.class ├── Hello.class ├── Hello.java ├── Main.class ├── Main.java ├── java ├── io │ ├── PrintStream.class │ └── PrintStream.java └── lang │ ├── Exception.class │ ├── Exception.java │ ├── Object.class │ ├── Object.java │ ├── RuntimeException.class │ ├── RuntimeException.java │ ├── System.class │ ├── System.java │ ├── Thread.class │ ├── Thread.java │ ├── Throwable.class │ └── Throwable.java └── test.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/README.md -------------------------------------------------------------------------------- /Zvm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/Zvm.py -------------------------------------------------------------------------------- /base/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /base/jvm_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/base/jvm_config.py -------------------------------------------------------------------------------- /base/stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/base/stack.py -------------------------------------------------------------------------------- /base/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /base/utils/common_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/base/utils/common_utils.py -------------------------------------------------------------------------------- /base/utils/error_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/base/utils/error_handler.py -------------------------------------------------------------------------------- /base/utils/print_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/base/utils/print_utils.py -------------------------------------------------------------------------------- /instruction/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instruction/instruction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/instruction/instruction.py -------------------------------------------------------------------------------- /interpreter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /interpreter/code_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/interpreter/code_parser.py -------------------------------------------------------------------------------- /interpreter/interpreter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/interpreter/interpreter.py -------------------------------------------------------------------------------- /java_class/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /java_class/class_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/java_class/class_file.py -------------------------------------------------------------------------------- /java_class/class_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/java_class/class_parser.py -------------------------------------------------------------------------------- /jgc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jgc/gc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/jgc/gc.py -------------------------------------------------------------------------------- /jthread/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jthread/jthread.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/jthread/jthread.py -------------------------------------------------------------------------------- /note.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/note.md -------------------------------------------------------------------------------- /path_import.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/path_import.py -------------------------------------------------------------------------------- /res/pic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/res/pic1.png -------------------------------------------------------------------------------- /res/pic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/res/pic2.png -------------------------------------------------------------------------------- /runtime/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /runtime/heap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/runtime/heap.py -------------------------------------------------------------------------------- /runtime/java_heap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/runtime/java_heap.py -------------------------------------------------------------------------------- /runtime/jclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/runtime/jclass.py -------------------------------------------------------------------------------- /runtime/jobject.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/runtime/jobject.py -------------------------------------------------------------------------------- /runtime/thread.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/runtime/thread.py -------------------------------------------------------------------------------- /test/Hello$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$1.class -------------------------------------------------------------------------------- /test/Hello$NOT.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$NOT.class -------------------------------------------------------------------------------- /test/Hello$T.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$T.class -------------------------------------------------------------------------------- /test/Hello$T1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$T1.class -------------------------------------------------------------------------------- /test/Hello$T2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$T2.class -------------------------------------------------------------------------------- /test/Hello$TestException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello$TestException.class -------------------------------------------------------------------------------- /test/Hello.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello.class -------------------------------------------------------------------------------- /test/Hello.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Hello.java -------------------------------------------------------------------------------- /test/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Main.class -------------------------------------------------------------------------------- /test/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/Main.java -------------------------------------------------------------------------------- /test/java/io/PrintStream.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/io/PrintStream.class -------------------------------------------------------------------------------- /test/java/io/PrintStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/io/PrintStream.java -------------------------------------------------------------------------------- /test/java/lang/Exception.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/Exception.class -------------------------------------------------------------------------------- /test/java/lang/Exception.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Exception extends Throwable { 4 | } 5 | -------------------------------------------------------------------------------- /test/java/lang/Object.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/Object.class -------------------------------------------------------------------------------- /test/java/lang/Object.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Object { 4 | } 5 | -------------------------------------------------------------------------------- /test/java/lang/RuntimeException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/RuntimeException.class -------------------------------------------------------------------------------- /test/java/lang/RuntimeException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/RuntimeException.java -------------------------------------------------------------------------------- /test/java/lang/System.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/System.class -------------------------------------------------------------------------------- /test/java/lang/System.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/System.java -------------------------------------------------------------------------------- /test/java/lang/Thread.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/Thread.class -------------------------------------------------------------------------------- /test/java/lang/Thread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/Thread.java -------------------------------------------------------------------------------- /test/java/lang/Throwable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/java/lang/Throwable.class -------------------------------------------------------------------------------- /test/java/lang/Throwable.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Throwable { 4 | } 5 | -------------------------------------------------------------------------------- /test/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5A59/Zvm/HEAD/test/test.py --------------------------------------------------------------------------------