转自:http://blog.csdn.net/xxb2008/article/details/7924676

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

Under J2SE | 三月 10th, 2010

1 comment

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

概念:

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

区别:

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

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

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

JIT:

  • 首先采用编译形式生成某种中介代码(Java bytecode/MSIL),然后在运行时将其(通常以函数或Block为单位)最终转换成机器码,然后执行,转化的机器码可以被cache,以提高重复执行的效率

动态语言和静态语言

Under J2SE | 三月 10th, 2010

No comment

1.动态语言Dynamically Typed Language

例如:ECMAScript(JavaScript)、Ruby、Python、VBScript、php

也叫动态类型定义语言

与静态类型定义相反,一种在执行期间才去发现数据类型的语言,

动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。

动态语言的类型检查是在运行时做的。

它的优点是方便阅读,不需要写非常多的类型相关的代码;

缺点是不方便调试,命名不规范时会造成读不懂,不利于理解等。

目前java平台下的动态语言有Groovy、nice、BeanShell、Jython、JRuby、Rhino(JavaScript)、 Jacl(TCL)、Bistro(SmallTalk)、Kawa(Lisp/Schema),真是越来越多了。java下这么多的动态语言建议选择 Groovy,感觉血统较为正宗,兼容Java的语法,java程序员学习起来较为容易,上手较快。

2.静态语言Statically Typed Language

例如:C、C++、Java

也叫静态类型定义语言。即一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。

在使用数据之前,我们必须首先定义数据类型,这些数据类型包括int ,float,double等等。就相当于在使用它们之前,首先要为它们分配好内存空间。

静态类型语言的主要优点在于其结构非常规范,便于调试,方便类型安全;

缺点是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。

3.强类型定义语言

一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串

4.弱类型定义语言

一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义

的。在VBScript中,可以将字符串 ’12′ 和整数 3 进行连接得到字符串 ’123′,

然后可以把它看成整数 123,而不需要显示转换。

5.脚本语言

脚本语言代表一套与系统程序设计语言不同的协定。

它们牺牲执行速度和与系统程序设计语言相关的类型长度而提供更高的编程创作力和软件重用。

脚本语言更适合在联系复杂的应用程序中进行胶着。

为了简化连接组件的工作,脚本语言被设计为无类型的,脚本语言一般是面向字符的,因为字符为许多不同的事物提供了一致的描述。

事实上,脚本语言都是动态语言,而动态语言都是解释型语言,不管它们是不是面向对象。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 编译型语言和解释型语言(转载)

    在具体计算机上实现一种语言,首先要确定的是表示该语言语义解释的虚拟计算机,一个关键的问题是程序执行时的基本表示是实际计算机上的机器语言还是虚拟机的机器语言.这个问题决定了语言的实现.根据这个问题的回答 ...

  9. 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

    编译型语言和解释型语言 1.编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言.一般需经过编译(compile).链接(linker)这两个步骤.编译是把源代码编译成 ...

最新文章

  1. 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入
  2. 本地上传图片无法预览
  3. java-HashMap默认机制
  4. Tensorflow异常集锦
  5. @程序员,正在自学机器学习?这六点一定要牢记!
  6. Ubuntu禁用网卡步骤(重启依然生效)
  7. zabbix邮件报警功能的验证
  8. 金庸年度双十佳广告爆笑版 (1)
  9. win10相机计算机无法使用,win10相机无法使用完美解决方法
  10. 教你制作在线签名 【电驴技巧,转verycd】
  11. 从十七年蝉谈起——hashtable的表格大小为什么要选择质数
  12. b站React禹哥版视频笔记-React面向组件编程(上)
  13. 【Web前端HTML5CSS3】05-样式继承与其他概念
  14. KCP 协议 YES
  15. .xml配置文件中The reference to entity serverTimezone must end with the ';' delimiter.错误
  16. PHP ajax 远程下载PDF文件保存在本地服务器
  17. DB2日期时间型数据类型介绍
  18. 年度矫情大剧-2017回忆文
  19. javascript编程题_JavaScript仍然是编程语言的王者
  20. 什么是“同层稽核”,什么是“不同层稽核”

热门文章

  1. 凸优化中如何改进GD方法以防止陷入局部最优解
  2. 从零开始Code Review
  3. http 协议上传文件multipart form-data boundary 说明--转载
  4. 理解OAuth 2.0--转
  5. Lesson 7 (3) 深入理解PyTorch与PyTorch库架构
  6. 元宇宙iwemeta: 韩国政府力挺元宇宙, 打造元宇宙城市 出台五年规划
  7. tensflow中加载 fashion_mnist 数据集时
  8. 抖音小程序开发:CEO们涌进直播间带货
  9. V神以太坊:Casper 权益证明与分片技术最新进展
  10. Deep Learning Face Representation by Joint Identification-Verification