# jvmgo **Repository Path**: wolfox/jvmgo ## Basic Information - **Project Name**: jvmgo - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-07 - **Last Updated**: 2021-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jvmgo ## 介绍 本项目为《自己动手写java虚拟机》书籍的练习项目 ## 语言 Golang 1.15.15 ## 章节 ### 第一章:环境 #### 1.设置环境变量 再任意盘符下创建一个工作空间目录,可以是任何名字,我的叫:go-workspace,在环境变量中配置GOPAHT项,值指向D:\go-workspace #### 2.创建目录结构 在D:\go-workspace\ src( 也就是%GOPATH%\src)目录下创建jvmgo目录 >src 目录中是Go语言源代码。 > >pkg 目录中是编译好的包对象文件。 > >bin 目录中是链接好的可执行文件。 #### 3.编写一个命令行工具 ch01 当执行编译后的文件时,可以在后面跟着参数,就会实现类似 java -version功能。 原理就是判断参数名,打印对应的值。 ### 第二章:加载class文件 java虚拟机规范并没有规定虚拟机应该从哪里寻找类,Oracle的java虚拟机实现根据类路径(class path)来搜索。 Java在加载class文件时,通常有三种方法, 1.加载文件夹,指定classpath 2.加载jar包 3.加载zip压缩包 实现方式: 我们可以根据命令行后面的路径参数,按照不同的方式,加载类文件。 **** 可以把相关详细文档移动到博客 **** 计算机科学中的任何难题都可以通过增加一个中间层来解决 .\ch03.exe -Xjre "D:\Java\jdk1.8.0_201\jre" java.lang.String