前言
起初我们第一次编写Java代码的时候,应该都是从计算机中自带的记事本开始的,每个人程序员的第一次可能都是从Hello World开始,今天咱们就来谈一谈java语言的工作原理。
概念
我们首先需要理解几个概念上的问题,比如源代码,编译器,字节码,JVM(java虚拟机)。
这些是java语言运行的基本要求,我们来逐一理解以上几个概念。
1.源代码(.java结尾):
源代码就是我们所编写的源代码文件(听起来像一句废话),翻译过来就是,源代码可以理解成我们写在记事本中的代码,如下图。
这就是我们所说的源代码文件,文件结尾是(.java)
2.编译器
编译器就是用来运行上图源代码文件。执行javac程序来编译HelloWorld.java源文件,编译器会检查错误,如果有错就需要我们去手动修改正确才能通过编译。编译成功之后会将源代码文件(HelloWorld.java)编译成字节码文件(HelloWorld.class)
3.字节码
经过上述,字节码文件我们已经不再陌生,字节码文件就是我们编写的源代码文件通过编译器编译成字节码文件。而这个字节码内容我们却看不懂,需要交给 JVM——java虚拟机 来运行。
HelloWorld.class字节码内容如下图(我们几乎看不懂)。
4.JVM(Java虚拟机)
上面我们知道源代码文件会被编译器编译成字节码文件,最后一步就需要我们的JVM处理。此虚拟机可以读取与执行字节码,启动JVM执行java程序来运行我们看不懂的字节码文件,JVM会将字节码转换成平台能理解的形式来运行。翻译过来就是将我们看不懂的字节码转换成平台能看懂的形式运行
总结
整个过程简化为下图,思路很清晰。下图的javac和java是命令而已。
2020.8.9