JAVA是解释型语言还是编译型语言

 

JAVA是解释型语言还是编译型语言

概念:

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

 

区别:

  • 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
  • 解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic.

 

通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。

 java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。


JAVA的 “可移植性”原理:

Java属于编译型和解释型的编程语言(?),所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。

JIT:

  • 首先采用编译形式生成某种中介代码(Java bytecode/MSIL),然后在运行时将其(通常以函数或Block为单位)最终转换成机器码,然后执行,转化的机器码可以被cache,以提高重复执行的效率
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值