java语言类型
来源:互联网 发布:python字符串处理 编辑:程序博客网 时间:2024/06/01 23:52
最近在看《深入理解Java虚拟机JVM高级特性与最佳实践》只是看了第一遍,这本书讲的东西都是很底层的东西,基础开发一般用不到,但是让我对Java语言有了很深刻的认识。
市面上语言被分为“解释型”和“编译型”,我们上学时学习的C/C++语言就是编译型的语言,我目前接触过的Ruby、JavaScript是解释型的语言,那么Java语言是解释型的还是编译型的呢?
说成任何一种都是很片面的,Java的执行过程从大的方面分为下面几个阶段:
1. 编译: 源代码文件(.java)编辑成字节码文件(.class)。
2. 加载: JVM加载字节码。
3. 运行: JVM执行字节码内部的指令运行程序。
我们和Ruby语言做个对比,来解析一下Java的类型。
从第一个阶段来看,Java属于编译型的,这个角度来看它属于静态语言,这个阶段的所有代码必须能编译通过,才能编译成字节码,而作为解释型的语言,Ruby没有这个阶段,Ruby的虚拟机是直接加载*.rb文件的。
第二个阶段JVM加载字节码的过程就不细说了,这个阶段是把字节码加载到内容中,形成一个一个的指令,这个加载并不是一次性完成所有的,是需要的时候才加载,比如我们常用的加载JDBC的方式(Class.forName(“com.mysql.jdbc.Driver”);),就是运行到对应字节码时才加载,从这个阶段来看Java是“解释型”的语言。Java里面有一个叫“反射”的机制,这个机制来看,Java也是动态语言。
Ruby的虚拟机加载的过程没有仔细研究,但是Ruby在运行时,才会检测变量和方法是否存在,而所以它是动态语言。
总的来说,Java是混合语言,一个角度上说,既属于“编译型”,又属于“解释型”,另外一个角度上说,Java既属于“静态语言”,又属于“动态语言”。
神奇的Java,越来越感兴趣。
- java语言类型
- Java语言的类型安全
- JAVA语言中的引用类型
- Java语言中的枚举类型
- Java语言的接口与类型安全
- Java语言的接口与类型安全
- Java语言的接口与类型安全
- Java语言的接口与类型
- Java语言的接口与类型安全
- Java语言基础:基本数组类型
- JAVA语言学习_03(关于枚举类型)
- JAVA语言是类型安全的
- Java语言基础(类型运算细节)
- Java语言精粹 第二章 类型系统
- java语言中的enum类型使用介绍
- Java语言基础(类型提升&强制转换)
- 07.java语言基础-布尔类型(boolean)
- 10.java语言基础-字符类型(char)
- 2014-03-03-ue快速编译运行及激活
- React常见问题梳理
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 罗尔(Rolle)、拉格朗日(Lagrange)和柯西(Cauchy)三大微分中值定理的定义
- 分享链小程序开发源码分析
- java语言类型
- Qml列表项拖放
- Spark RDD API 基本操作
- Angular 4官方文档(一)【架构】
- Ubuntu 14.04下安装tensorflow
- 使用Jenkins配置自动化构建
- Ubuntu 14.04 64位机上配置Android Studio操作步骤
- maven工程的创建(五)--外加maven命令
- web.xml中<load-on-start>n</load-on-satrt>作用