个人理解:java是混合型。混合了解释型和编译型的特性。

JVM在执行java字节码的时候是每次将一条字节码指令翻译成对应的机器码指令然后执行的,这看起来应该是解释型的特性,但JVM还有一个JIT编译器,它会将热点代码(当某段代码在某个时间周期内执行次数到达一个阈值的时候,即为热点代码)编译成本地机器码并且优化后保存起来,当下次执行这段代码时直接执行本地机器码,这样大大提高了执行效率,那为什么不在第一次执行该代码时就编译成本地机器码保存起来呢,因为将字节码编译成本地机器码是一个消耗资源的过程,需要额外的cpu以及内存空间,会导致字节码第一次执行的时候很慢。所以才有了以上的策略。

我们可以使用JVM参数来设置这个阈值:

-XX:CompileThreshold=10

同时加上以下参数以打印出编译信息:

-XX:+PrintCompilation

参考:http://blog.csdn.net/zq602316498/article/details/39152349

http://www.importnew.com/2009.html

转载于:https://www.cnblogs.com/longzhaoyu/p/5029582.html

Java是解释型还是编译型相关推荐

  1. Python?Python!(python是解释型还是编译型)

    文章目录 解释型语言?编译型语言? 1. 为什么要有解释型语言? 2. `.pyc`文件 3 对于python是解释型还是编译型的判断 3.1 字节码和机器语言的区别 3.2 解释器和虚拟机 4. 为 ...

  2. Java是解释型还是编译型?

    有人说Java是编译型的.因为所有的Java代码都是要编译的,.java不经过编译就无法执行. 也有人说Java是解释型的.因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型 ...

  3. PHP是解释型还是编译型的?

    编译型语言 使用专门的编译器(类似于Windows下的Visual Studio).针对特定平台(操作系统)将某种高级语言源代码一次性"翻译"成该平台硬件执行的机器码(包括机器指令 ...

  4. JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言

    js是解释型语言? 跟编译型语言相比,解释型语言有几点不同: 1. 运行频率:解释器(Interpreter)一次只解释一行/一段代码,解释完就直接运行,运行后再继续解释下一行/一段代码,直到代码结束 ...

  5. java是解释型_Java 是编译型还是解释型?

    Java 是编译型还是解释型? Java既不属于传统的编译型语言,也不属于解释型语言,Java是先编译成".class"字节码文件,然后再利用JVM虚拟机进行解释执行的,所以Jav ...

  6. Java 答疑:编译器和解释器有何区别?Java 语言属于编译型编程语言还是解释型编程语言?

    文章目录 前言 一.Java 与 Java 字节码 二.什么是编译器(Compiler) 三.什么是解释器(Interpreter) 四.编译器与解释器有何区别? 五.Java 语言属于哪种语言? 总 ...

  7. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。

    Java语言的源程序不是编译型的,而是编译解释型的. 语言译解2情绪状态的种类有(). 程序感冒期间忌食以下哪些食物 区分团花剪纸的方法,不编译主要看单独纹样重复出现的情况的说法正确吗?( ) 编释型 ...

  8. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。( )_学小易找答案...

    [单选题]下列选项中,不属于Java语言特点的一项是( ). [单选题]贺铸<半死桐>(重过阊门万事非)悼念其妻病逝于: [判断题]Java语言具有较好的安全性和可移植性及与平台无关等特性 ...

  9. java 解释型和编译型

    编译型语言和解释型语言 编译型语言: 举一个恰当的例子来理解,一本汉语的书,需要翻译成英文的书来帮助外国人理解,一种就是把正本书翻译完,然后给到外国人来阅读,这种方式就相当于编程中的编译型. 解释型: ...

  10. 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析

    编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言概念辨析 转自:https://blog.csdn.net/u010533843/article/details/76215487 编译型和解 ...

最新文章

  1. bitwarden自建服务器,BitWarden
  2. 费米悖论的三十种解释
  3. 远程方法调用简单实现
  4. mysql 表查询注意
  5. Retrofit学习笔记
  6. [笔记]C#基础入门(十四)——C#用流程图描述程序逻辑
  7. php 枚举类型比较,java 枚举类比较是用==还是equals?
  8. Java获取数据类型
  9. 父亲浮动,子代也会跟着走
  10. 自动驾驶汽车也能聊天?
  11. 速修复!NSA 报告四个严重和高危 Exchange Server RCE 漏洞
  12. CSS 实现文字两端对齐
  13. ArcGIS pro 发布地图服务(一)动态地图服务
  14. 等比缩放公式_CVPR2019 | 旷视提出MetaSR:单一模型实现超分辨率任意缩放因子
  15. imp遇到重复数据_oracle的imp导入时覆盖目标数据库
  16. Processing学习笔记 巨细无比
  17. 《英语语法新思维初级教程》学习笔记(七)五种基本句型
  18. ffmepg 视频添加水印 —— 筑梦之路
  19. C语言提取字符对应的ASCAl,ascall码对照表(ASCII码表)
  20. React 报错 Too many re-renders. React limits the number of renders to prevent an infini

热门文章

  1. eclipse 查看jar包源代码两种方式
  2. Java程序员必会的工具库,让你的代码量减少90%!
  3. 太赞了,Intellij IDEA竟然把Java8的数据流问题这么完美的解决掉了!
  4. 23种设计模式及案例整理分享(建议收藏)
  5. 计算机“复制粘贴”之父去世
  6. 即插即用,运维工程师必会正则表达式大全
  7. JVM的4种垃圾回收算法、垃圾回收机制与总结
  8. 小程序中canvas绘制网络图片
  9. java面向对象(第一章课后作业)02
  10. 2017-2018-1 20155330 《信息安全系统设计基础》第3周学习总结