一、你可以说它是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。
二、你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。

JIT工作原理(Just In Time Compiler) ,即时编译器
当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器。JIT编译器将字节码编译成本机机器代码。

通常javac将程序源码编译,转换成java字节码,JVM通过解释字节码将其翻译成相应的机器指令,逐条读入,逐条解释翻译。非常显然,经过解释运行,其运行速度必定会比可运行的二进制字节码程序慢。为了提高运行速度,引入了JIT技术。

在执行时JIT会把翻译过的机器码保存起来,已备下次使用,因此从理论上来说,採用该JIT技术能够,能够接近曾经纯编译技术。

Java到底是编译型语言还是解释型语言?相关推荐

  1. java属于编译_《程序员修炼之道》-读书笔记一-Java到底属于编译型语言还是解释型语言?...

    Java到底属于编译型语言还是解释型语言? 要想知道Java属于编译型语言还是解释型语言我们需要知道他们的定义和区别 定义: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序.然后,可直接运 ...

  2. Java语言是编译型语言还是解释型语言?(Java程序执行过程)

    Java语言是编译型语言还是解释型语言? 我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言 什么是编译型语言和解释型语言? Java语言看似是编译型的,因为Java程序代码的确是需要经 ...

  3. 1. Java是编译型语言还是解释型语言?

    一.理解什么是编译型语言和解释型语言 首先,计算机是不能理解高级语言的.更不能直接执行高级语言,它只能理解和执行机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也 ...

  4. java是编译型语言还是解释型语言?

    基本概念 什么是编译型语言?编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制),比如C和C++. 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件, ...

  5. 编译型语言VS解释型语言

    请观看下面两张图 了解一下Java的虚拟机机制: (1)java语言的编译–>解释->执行过程 (2)java的虚拟机 编译型语言和解释型语言 定义: 编译型语言:把做好的源程序全部编译成 ...

  6. c和java可归类为什么语言,JAVA到底是解释型语言还是编译型语言

    JAVA到底是解释型语言还是编译型语言以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JAVA到底是解释型语言还是编译型 ...

  7. 【Java基础】面向对象与面向过程、编译型语言与解释型语言

    1 面向对象与面向过程 面向过程:类调用需要实例化,开销大,比较消耗资源,所以当性能是最重要的因素是,比如单片机.嵌入式开发.Linux.Unix等一般采用面向过程开发.常见语言:C. 面向对象:面向 ...

  8. java是编译型语言还是解释型语言_什么是编译型语言和解释型语言?

    首先什么是编译型语言和解释型语言? 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码 ...

  9. 认识Python(python起源、设计、特点及编译型语言、解释型语言)

    学习目标: python的起源 为什么要用python python的特点 python的优缺点 1.python的起源 python的创始人为吉多.范罗苏姆 1989年圣诞节期间,吉多.范罗苏姆为了 ...

最新文章

  1. SCLS:拟南芥二半萜类化合物调控根系微生物组
  2. ssh汉字乱码怎么办_ssh中文乱码解决
  3. FPGA之道(26)VHDL初始化
  4. C语言程序输入两行汉字,C语言多行输入问题集锦
  5. 辽宁沈阳计算机学校王斯琪,青春正好,理所当“燃”——沈阳万合技校开展2020-2021年度春季学期跳大绳比赛...
  6. 在Windows 2000下优化Oracle9i性能
  7. posix and system V IPC
  8. Java基础面试题:AQS组件总结
  9. Fiddler对安卓模拟器里的APP抓包(步骤详细,各种抓包工具总结)
  10. sam音高修正_Melodyneplugin音高修正插件使用入门(精)
  11. BOSS直聘免费下载个人简历为PDF的方法
  12. copy的过去式_copy的过去式和用法例句
  13. 见与不见---作者:谈笑靖
  14. 网络分层,网络协议TCP/IP模型,OSI模型
  15. spring框架aop_使用Spring框架和AOP进行动态路由
  16. 电机驱动电路之H桥基本知识---Trinamic电机驱动芯片
  17. 熊孩子乱敲键盘攻破Linux,“熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们...
  18. 免费馅饼 (数据结构)
  19. 组件绑定事件与源生事件
  20. Apache Hive入门1

热门文章

  1. Windows 8的十八项特点
  2. 中国研发磁悬浮高铁新技术 再次实现自我超越
  3. 1013: 求两点间距离 Python
  4. 字符流问答小程序解题过程及拓展
  5. 三分钟教会你汉诺塔图解
  6. [视频降噪] GoPro FastDVDNet 看名字就知道它很快
  7. [Daozy][区块链 EOS 课程]第3课 如何创建EOS钱包
  8. 【面经一】Java高级面经
  9. 双节临近:“中秋节”如何装修你的手机端店铺?
  10. 教你如何更好的编写JAVA单元测试