JAVA为什么能够流行
互联网上的电脑硬件不同,软件环境差异较大,需要一个能够跨平台的语言。
JAVA核心优势:跨平台
JVM虚拟机
JVM(JAVA VIRTUAL MACHINE)是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
JVM是指在一台计算机上由软件或硬件模拟的计算机,它类似一个小巧而高效的CPU。
Java虚拟机是Java最核心技术,也是跨平台的基础。可以使用软件来实现,例如:IBM, SUN, BEA等,当然你也可以自己写一个JVM,可以使用硬件来实现,例如:比如SUM/Intel公司正在研发的java芯片
JVM和JAVA跨平台特性
计算机的高级编程语言类型一般为: 编译型和解释型。而Java语言是两种类型的结合。
编译型:先把整个英文的文章翻译成中文,然后再阅读。
优点:阅读的时候效率高。
缺点:阅读之前需要等待英语老师翻译好英文的文章。
解释型:英语老师逐行给我们翻译,也就是阅读一行翻译一行 优点:阅读之前无需等待
缺点:阅读的时候效率低 常见java程序的编写和执行步骤为:
- 通过编辑器编写 Java源程序源文件(源文件名.java).
- 通过编译器将源程序编译成字节码文件(类名.class)。
- 通过解释器将字节码文件解释为对应的机器语言并运行(在JVM中运行字节码文件)。
以上图片就是JAVA文件编译成class文件后,class字节码文件在不同设备上执行的过程。通过在不同设备上安装虚拟机,从而实现了跨平台、可移植的功能。
JAVA和C语言跨平台原理的比较
Java:一次编译,到处运行
Java编译器的作用:编译,将源文件编译为字节码文件。
Java虚拟机的作用:解释,把字节码文件转换成对应平台的机器语言。
C语言:多次编译,到处运行