版本新功能
- 5
- 泛型、枚举、自动装拆箱、foreach 循环、可变参数
- 静态导入(无需指定类名,直接调用静态结构,前提是导包)
- 内省
- 6:GUI
- 7
- switch-字符串
- 泛型集合:泛型实例化类型自动推断
- 集合增强:直接用中括号、大括号进行初始化
- multi-catch:单个 catch 捕获多个异常类型,用
|
隔开 - twr:在 try 括号内,指定要使用和自动释放的资源
- 8
- 接口默认方法:使用 default 关键字,实现方法
- lambda 表达式
语言对比
JS
JS | Java | |
---|---|---|
含义 | 基于对象的脚本语言,提供了丰富的内部对象 | 面向对象,需要涉及对象 |
执行 | 浏览器解释执行 | 先编译为字节码,通过解释器或编译器转为机器码 |
变量类型 | 弱类型,无需声明,解释器在运行时检查数据类型 | 强类型,需实现声明变量类型 |
动态联编,对象引用在运行时检查 | 静态联编,对象引用在编译时进行 |
C
C | Java | |
---|---|---|
面向 | 面向过程 (C++、C# 支持面向对象) |
面向对象 |
执行 | (编译式语言) 编译、链接后生成机器码 |
(解释性语言) 编译成字节码文件,由解释器解释执行,热点代码由 JIT 编译成机器码 |
跨平台 | ❌ | ✔ |
指针、运算符重载 | ✔ | ❌ |
多重继承 | ✔ | ❌,只支持多重实现 |
内存管理 | 可直接操作内存,需要对内存进行显式管理 | 无法直接操作内存,GC 机制自动内存管理 |
数据类型所占字节数 | 在不同平台不固定 | 固定 |
Python
Python | Java | |
---|---|---|
效率 | 方便调用 C 语言函数 或 C++ 库 | 虚拟机比 Python 强大 |
偏向 | 数据分析 | 商业开发 |
语言 | 弱类型(动态) | 强类型(静态) |
执行 | 直接运行 | 先编译为字节码,通过解释器或编译器转为机器码 |
变量 | 不需要声明 | 需要声明 |