什么是动态语言?
  动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如JavaScript便是一个典型的动态语言。

除此之外如Ruby、Python、OC等也都属于动态语言,而C、C++、Java等语言则不属于动态语言。

动态类型语言,就是类型的检查是在运行时做的,是不是合法的要到运行时才判断,例如JavaScript就没有编译错误,只要运行错误。

JavaScript改变结构小例子:

aAll[0].οnclick=function(){//通过重新赋类名,达到显示隐藏菜单的效果if(oArt.className=='no_circle'){oArt.className='yes_circle'}else{oArt.className='no_circle'}}
}

静态语言

  而静态类型语言的类型判断是在运行前判断(如编译阶段),比如java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,
静态类型语言的主要优点:
      在于其结构非常规范,便于调试,方便类型安全;
缺点:
        是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。动态类型语言的优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。
为什么Java可以称之为"准动态语言"?
体现在以下几个方面:

  1.反射机制

  2.动态编译

  3.动态执行javascript代码

  4.动态字节码操作

  5.动态转换类型

Java的反射机制被视为Java为准动态语言的主要的一个关键性质,这个机制允许程序在运行时透过反射取得任何一个已知名称的class的内部信息,包括:
正在运行中的类的属性信息,正在运行中的类的方法信息,正在运行中的类的构造信息,正在运行中的类的访问修饰符,注解等等。
动态语言无时不刻在体现动态性,而静态语言也在通过其他方法来趋近于去弥补静态语言的缺陷。

为什么可以说Java语言是准动态语言?相关推荐

  1. java动态语言_探秘Java 7:JVM动态语言支持详解

    JDK 7 增加了对 JSR 292 的支持,在 JVM 中动态类型语言的运行速度将变得更快.这一支持的关键在于增加了新的 Java 字节码,invokedynamic,它用于方法调用,还有新的连接机 ...

  2. java中的静态语言_java是动态语言还是静态语言?

    java是静态语言.Java是在编译时期确定的变量类型且在运行时期不能改变,在类型转换方面也是强制的,例如大范围整数类型转换为小范围整数类型时必须要强转,如int必须强制转换才能得到小范围类型byte ...

  3. python是动态语言_Python是动态语言:动态添加或删除属性、方法

    Python是动态语言:动态编辑属性.动态编辑方法 1.运行过程中给对象绑定.删除属性 实例: class Person(): def __init__(self,name): self.name=n ...

  4. Java是动态语言吗?从《Java核心编程》探索真知

    目录 一.Java是动态语言吗? 1.动态语言 2.静态类型 3.<Java核心编程>中探索~~为什么Java可以称之为"准动态语言"? 二.了解ClassLoader ...

  5. java的准动态(反射)

    java 的反射机制 相关系列 该懂的反射小操作 文章目录 java 的反射机制 相关系列 前言 一.反射机制 二.反射机制的常见操作 java.lang.Class 类 つづく 前言 动态语言 在程 ...

  6. 【Java核心技术卷】静态语言和动态语言对比

    这里用JavaScript.C.Java语言进行对比分析: C语言是静态语言.弱类型语言. Java语言是静态语言.强类型语言. JavaScript语言是动态语言.弱类型语言. 静态类型语言.动态类 ...

  7. python语言的理解-Python动态语言理解

    1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被引进,已有的函数可以被删 ...

  8. 什么是动态语言(转)

    可以简单的理解为直接被解释执行的语言称为动态语言.而需要编译环境将程序转换为其它的编码再执行的语言称为静态语言. 当前静态语言有:Java.C/C++.C#.Delphi.VB等. 动态语言有:ASP ...

  9. 动态语言,静态类型,强类型定义语言,弱类型定义语言,

    1 动态语言和静态语言 通常我们所说的动态语言.静态语言是指动态类型语言和静态类型语言.    1 动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时 ...

最新文章

  1. 微信小程序 循迹功能制作
  2. 从变量地址到指针再到指针变量
  3. [Micropython]TPYBoard v202 邪恶改装:TPYBoard制作廉价WIFI干扰器
  4. 关于tomcat8在windows2008下高并发下问题的解决方案
  5. 一个简单的freemark输入输出的案例(一)
  6. SpringMVC自动配置||如何修改SpringBoot的默认配置
  7. 【渝粤教育】 国家开放大学2020年春季 1129土木工程力学(本) 参考试题
  8. 度量时间差和jiffies计数器
  9. 一个简单的录音软件程序代码【C++】
  10. LINUX SHELL中for用数组循环
  11. Observium Feature分析
  12. 阿里图标管理网站[iconfont.cn](iconfont.cn)的正确打开方式
  13. 2022电大国家开放大学网上形考任务-民事诉讼法学非免费(非答案)
  14. 陶哲轩实分析 3.2 节 习题试解
  15. 异常信息:test02FlexController”不存在,wufa
  16. Niagara程序入门
  17. 可能是最全的人工智能入门书单(附PDF链接)
  18. 笔记:物化的技术进步
  19. 振弦传感器及核心VM系列振弦采集模块
  20. 论文的引言要写什么?

热门文章

  1. COM:微生物促进植物的氮获得
  2. 水稻微生物组时间序列分析3-冲击图展示时间序序列变化
  3. Error in x$e : $ operator is invalid for atomic vectors
  4. R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称
  5. R语言偏相关或者部分相关性系数计算实战:使用psych包计算(Partial Correlation)偏相关系数、拟合回归模型使用两个回归模型的残差计算偏相关性系数
  6. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
  7. NLP语义标注模型数据准备及实战
  8. ANTS医学影像配准+Li‘s 核磁共振影像数据处理
  9. R构建多项式回归模型(Polynomial Regression)
  10. python代码使用正则化模块re检查字符串是否只含有要求指定的字符