什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
2017-09-02 18:59
706 查看
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。
Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。
Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。
Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。
相关文章推荐
- 面试题【什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?】
- 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
- 什么是java虚拟机,为什么java会被称为是“平台无关的编程语言”?
- [每日一问]---什么是Java虚拟机?为什么Java是“与平台无关的编程语言”?
- 什么是Java虚拟机?为什么Java被称为平台无关的编程语言
- 什么是JVM?java被称作是平台无关的编程语言?
- 有关Java虚拟机与Java被称为‘平台无关的编程语言’的简单特点
- Java虚拟机,以及Java是平台无关的编程语言。
- 为什么说Java语言是平台无关的
- java虚拟机:java的平台无关性,安全性和网络移动性
- 《Java虚拟机》学习2-Java平台无关性
- Java - GC是什么?为什么要有GC?
- JAVA的平台无关性
- Java平台无关性对虚拟机的依赖
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- 浅谈java的平台无关性
- JavaBean,Applets,Servlets和类库可以使用于装有Java虚拟机的任何平台的条码控件Java Barcode Package
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- Java-线程池专题(什么是线程池,如何使用,为什么要用)
- JAVA何以做到“平台无关”以及JAVA的集合框架