Java 是编译执行的语言,还是解释执行的语言

  • 答案:java既是编译型语言,也是解释型语言。

  1. 你可以说它是编译型的。因为所有的Java代码都需要经过javac编译为.class文件,但主要是由于java现在拥有了jit,会将热点代码的.class文件直接编译为二进制本地代码。

  2. 你可以说它是解释型的。因为java代码编译后.class文件还是不能直接运行在操作系统上,还需要经过jvm解释为二进制代码。

  3. 现在的JVM为了效率,都有一些JIT(Just In-Time Compiler)优化。它又会把热点代码的.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!


  • 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
    解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

  • 编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
    解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。

  • 编译型的语言包括:C、C++、Delphi、Pascal、Fortran
    解释型的语言包括:Java、Basic、javascript

### 回答1: Java是一种编译语言Java代码在编译之前需要先经过编译器的处理,将源代码编译成字节码文件,然后这些字节码文件可以在Java虚拟机(JVM)上解释执行。这种方式可以提高Java程序的性能,并且可以使得Java程序跨平台运行,因为不同的平台只需要安装相应的Java虚拟机即可。 ### 回答2: Java是一种混合型语言,既可以编译也可以解释Java程序首先通过编译器将源代码转换成字节码(bytecode),然后这些字节码可以在Java虚拟机(JVM)上解释执行编译过程将源代码转换成字节码,可以提前发现一些语法错误,这可以减少程序运行时的错误。一旦程序编译完成,字节码可以在不同的操作系统上运行,只要安装有适当版本的Java虚拟机。解释执行过程通过JVM将字节码逐行解释成机器语言执行。这种解释执行方式使得Java具有跨平台的特性,同一份字节码可以在不同的操作系统和硬件上运行,因此被广泛用于开发跨平台应用程序。然而,为了提高Java程序的性能,还可以通过即时编译(Just-In-Time Compilation)将字节码转换成本地机器码执行,这种方式将一些频繁执行的代码编译成本地机器码,以提高程序的执行速度。因此,Java既具备了编译语言的静态检查和跨平台特性,又具备了解释语言的灵活性和动态性能优化。 ### 回答3: Java是一种编译语言编译语言是指在运行程序之前需要将程序源代码通过编译器转换为机器可执行的二进制代码。在Java中,源代码是通过Java编译器(javac)将源代码(.java文件)编译Java字节码文件(.class文件)。然后,Java虚拟机(JVM)通过解释器(解释执行字节码)将字节码转换为特定机器的指令执行程序。 与解释语言不同,Java编译时会将代码转换为机器可以理解的形式,这使得Java执行时更加快速和高效。此外,Java字节码在不同的平台上是可移植的,这意味着可以在不同的操作系统和硬件上执行同一份Java程序。 总之,Java是一种编译语言,通过编译器将源代码转换为字节码文件,并由Java虚拟机解释执行。这种设计使得Java程序在不同平台上具有高度可移植性和高效性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值