JAVA语言中编译执行和解释执行的区别

Python016

JAVA语言中编译执行和解释执行的区别,第1张

编译执行和解释执行是不同语言之间的特性,所有的java都是编译执行的。

如果不是编译执行,其实已经完全不用java的编译器。那么只是一个使用java语法的另一种语言而已。

编译执行是指把代码先编译成机器码。然后按顺序运行,如果编译中有任何异常,都无法继续运行。java的编译就是把java转换成class。

而解释执行则是运行到哪一行代码就执行哪一行代码。如果其他代码有错误但没有运行到,一般不会影响。

比较起来,编译执行速度要快的多。而解释执行则在于比较灵活。可以动态修改。甚至可以在代码运行到指定语句之前,修改该代码。

1、java编译生成的字节码,在所有操作系统都是一样,故其有这样的特点:

write once, run anywhere.其意思:只需要一次编码,就可以在任何环境下运行。

2、不同的操作系统,其java 虚拟机是不一样的。虚拟机将java字节代码转换对应操作系统的

相关指令,保证其正常运行。

3、java 系统支持所有的硬件的平台,不存在你提及的问题,你可以放心使用。

4、解释器在java虚拟机中,编译器在JDK或JRE 中。

5、java虚拟机就是常说的java 运行环境,其缩写是 JRE,安装在操作系统下的一个目录中,

这个目录在安装时可以由你自行指定,就像你安装其它应用软件一样。JDK中包含了JRE,

还有开发环境,如编译器,帮助文档生成器,以及系统API的jar库文件等。

它既不属于传统的编译型语言也不属于解释型语言。它是先编译成.CLASS字节码文件,然后再利用虚拟机解释执行的.可以说先编译后解释吧。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]  。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2]  。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等[3]  。

20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。