Java语言可以说它是解释型语言,因为Java代码编译后不是机器可以识别的语言,而是字节码所以不能直接运行,需要jvm的解释才能在各个平台上运行。

Java语言

Java语言可以说它是编译型的,因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有;也可以说它是是解释型的,因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的。

但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。

像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!

Java的虚拟机机制

(1)java语言的编译-->解释--->执行过程

(2)java的虚拟机

编译型语言与解释型语言

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

区别

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

解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。

总结

个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。

java是什么类型语言_java属于什么类型语言相关推荐

  1. java中类变量局部量_java入门---变量类型类变量局部变量实例变量静态变量

    在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: typeidentifier[= value][, identifier[= value]...]; 格式说明:type为Jav ...

  2. java类型提升_java表达式中类型的自动提升(转)

    java表达式中类型的自动提升(转)[@more@]除了赋值,还有另外一种类型变换:在表达式中.想要知道原因,往下看.在表达式中,对中间值的精确要求有时超过任何一个操作数的范围.例如,考虑下面的表达式 ...

  3. java 调用枚举种方法_Java中枚举类型的一种使用方式

    今天改同事的代码发现同事的代码中有大量的if else语句.很不美观而且可读性太差. 因为需要给前端一个key,value的列表.这个列表写死.然而同事的代码. 放几张图,大家自己感受.我都不知道以后 ...

  4. java语言和c语言_java语言和c语言的区别

    java语言和c语言的区别 java语言和c语言作为编程的两大语言,它们之间存在什么样的区别呢?下面百分网小编就为大家讲一讲,希望对您有所帮助! C语言是一门通用计算机编程语言,应用广泛.C语言的设计 ...

  5. java 类型推理_java 11 局部变量类型推断

    什么是局部变量类型推断? var javastack = "javastack"; System.out.println(javastack); 大家看出来了,局部变量类型推断就是 ...

  6. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  7. Java异常的根类似_Java异常(Exception)类型及处理

    Java中的异常全部都是以对象形式存在的,一旦某句代码发生异常,会在该代码处生成一个异常对象,然后以堆栈式抛出,若不对该异常对象进行处理,最终导致程序终止运行. Java语言异常分类 编译时异常(受检 ...

  8. java支持库 易语言_Java支持库|简易语言源网络|易语言资源网| e5a5x

    Java支持库 支持库名称: Java支持库2.0版 相关文件: C: \ ProgramFiles(x86)\ e \ lib \ Javalib.fne 数字签名: F3DA9F65E55F47c ...

  9. java 是脚本语言_java中使用脚本语言

    1. 脚本语言的特点 * 灵活:脚本语言一般都是动态类型,可以不用声明变量类型而直接使用,也可以在运行期改变类型. * 便捷:脚本语言是一种解释型语言,不需要编译成二进制代码,也不需要向java一样生 ...

  10. php和java语言_JAVA语言和PHP语言的比较

    JAVA语言和PHP语言的比较 JAVA语言在服务器端开发的流行以及安卓客户端开发的流行,让他占据了大部分市场份额.在服务器端还有一个语言也较为流行,就是PHP.PHP语言由于简单易学,响应速度快,在 ...

最新文章

  1. Nginx反向代理实现HTTPS网站
  2. 温度自动调节 c语言编写,室内温度自动调节控制系统课程设计(26页)-原创力文档...
  3. 使用cx_freeze打包Python程序
  4. 窗口分析函数19_Mysql查询窗口函数里第一个 最后一个 第N个元素的值的案例详解(FIRST_VALUE LAST_VALUE NVH_VALUE)
  5. ABAP Text table implementation
  6. Linux守护进程列表
  7. 陌屿授权系统V2.0全解
  8. OGNL表达式的特殊的符号
  9. LVDS 屏 format
  10. python 文件转base64
  11. xshell 4无法保存新建session
  12. QScrollArea qt滚动区域的简单使用
  13. 2011101401 洗練
  14. 直击人心的数据可视化设计作品
  15. 计算机三种不同类型的用户账户,网络操作系统——Windows Server 2008篇 教学课件 1 作者 刘本军 李建利 [项目5]用户与组的管理.ppt...
  16. npm官网注册账号失败
  17. VC中用代码移动CDockPane的位置
  18. 编程乐趣:获取12306的所有车站电报码
  19. 小米手机便签怎么看写了多少字 小米手机便签统计字数方法
  20. 【今日CV 计算机视觉论文速览 第96期】 8 Apr 2019

热门文章

  1. 10款最佳Python开发工具推荐,每一款都是神器!
  2. 批量爬取微信公众号下的音频
  3. PS照片处理尺寸参考表
  4. 教你快速学习PID控制原理
  5. python 中 函数的使用!!!
  6. 怎么把png批量转换jpg格式?
  7. iOS 获取汉字【简体中文】笔画数
  8. 姓氏头像制作生成头像组合微信小程序源码
  9. 8芯网线中哪几根是有用的?
  10. 计算机信息专业致谢词,计算机专业毕业论文致谢词