有关Java虚拟机与Java被称为‘平台无关的编程语言’的简单特点
Java虚拟机
定义:Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。
特点:
1) 用来执行Java源文件生成的字节码(.class)文件,Java语言的平台无关性就是通过Java虚拟机完成的。
2) Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
3) Java虚拟机的深入理解需要扎实的计算机基础知识,这里不做详细介绍。
Java被称为‘平台无关的编程语言’
- 什么叫跨平台
即一个字节码文件能够在不同的平台(平台=‘CPU+OS’,现在一般可以认为 平台=‘OS’)下运行。 如何实现跨平台运行
首先说明流程:
在不同平台编写的Java源程序(.java文件)被编译器‘翻译’成一个字节码文件(.class文件),而这个字节码文件可被不同平台的所有JVM所识别,JVM从而可以在不同平台运行。
所以这个字节码文件与JVM(Java虚拟机)就是Java语言实现跨平台的关键所在。
我们所要明确的是:
1) .class文件是一种中间文件、通用文件、可被所有平台的JVM所识别的文件。
2) JVM接收统一的字节码文件,在不同平台对.class文件进行与平台相对应的处理方式。
所以JVM相当于一个翻译官:
由不同平台的.java文件解释生成统一的.class文件,再由对应平台的JVM执行这个.class文件,由此实现Java语言的一大特性:一次编写,处处运行(Write once and run anywhere)。小问题
我们在开发一个Java程序并运行需要什么?
答:需要两个解释器。
1) 将Java源文件翻译成字节码文件的解释器;
2) 相对应平台的字节码文件的解释器。
这两个解释器都包含一个工具包中,即JDK(Java Developent ToolKit)。
上面我们所介绍的JVM即包含在Java运行时环境JRE(Java RunTime Environment)中,而JRE也已经包含在了JDK中,所以只要安装了JDK工具包即可编译并运行Java程序。好了,有关JVM的知识其实非常复杂,这里只是简单介绍概念。以后的学习任重而道远。