手写java程序_手写JAVA虚拟机(二)——实现java命令行

查看手写JAVA虚拟机系列可以进我的博客园主页查看。

我们知道,我们编译.java并运行.class文件时,需要一些java命令,如最简单的helloworld程序。

80597031c82cb5122eec4b060ee9cc6c.png

这里的程序最好不要加包名,因为加了包名的话编译和运行需要有所改动。

看这里的命令。javac为编译命令,我们知道java的特点是一次编译,到处运行。这里的编译指的就是javac,对于java程序即.java文件,先要用javac编译成字节码。然后将字节码(.class文件)放到java虚拟机中运行,即上图中的java HelloWorld,java虚拟机把字节码翻译成对应机器上的机器指令,再由机器来执行具体的机器指令。也就是说java程序员是直接与java虚拟机交互,简介与机器交互。所以虚拟机完成的是java命令,也就是我们要完成的是java这个指令的功能。

那么我们把第一个目标定为,实现简单的命令行。即我们通过命令行可以输入一些内容,虚拟机读取之后可以给一定的反馈。

GO语言中有两个和命令行相关的包,分别是os和flag(java中以类库即jar文件导入,go中直接以包的形式导入)。

首先在GOPATH目录下的src里面新建一个jvmgo文件夹作为我们的工作空间目录,jvmgo里面再新建一个ch01为我们的第一个目标源码文件夹,添加cmd.go文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值