- 什么是二进制文件?
二进制是机器码,由01组成,能被机器识别的机器指令。可以被CPU直接执行
- 什么是字节码文件?
字节码文件是.class作为后缀名的文件,是介于java源码与机器码之间的低级代码。可被java虚拟机执行转换为机器码,不可被CPU直接处理。
- java虚拟机
java是一门跨平台的语言,主要归功于它能跨平台的虚拟机。虚拟机相当于一个翻译字幕组,编译器java源文件(.java)转为字节码文件(.class),其中的解释器相当于会不同语言的组员,将字节码翻译成各个操作系统能直接执行的机器码(01)。这种采用字节码的方式解决了传统解释型语言将代码编译一句执行一句即执行效率低下的问题。
- 什么是解释型语言以及编译型语言
编译型语言(例如、c++、go、汇编等)将源代码一次性编译成为可执行文件,一次编译可重复执行。缺点是不同平台间对可执行文件的要求不一样,同一门编程语言在不同平台上的函数、变量以及api也可能不一样。很难实现跨平台。
解释型语言(py、js、php等)将源代码由解释器一边转换一边执行,不会产生可执行文件,源代码可跨平台但是执行效率低下。
为什么java被称为跨平台的编程语言
因为java虚拟机是可跨平台的。他将java源代码由编译器编译成可被虚拟机执行的字节码文件。由虚拟机中与目标平台相对应的解释器执行处理字节码文件将其转换平台可执行的成机器码
标签:java,字节,day01,机器码,跨平台,执行,虚拟机 From: https://www.cnblogs.com/unhabby/p/16731350.html