一、如何查询自己使用的JDK是哪个版本的?
在命令中输入java -version回车即可看到自己的JDK版本号了。
二、JDK1.5、1.6、1.7、1.8和JDK5、6、7、8的区别?
JDK从1.5版本开始,在官方的正式文档与宣传资料中已经不再使用类似JDK1.5的名称,只有程序员内部使用的开发版本号(Developer Version,例如java-version的输出)才继续沿用1.5、1.6、1.7和1.8的版本号,而公开版本号(Product Version)则改为JDK5、JDK6、JDK7和JDK8的命名方式。
三、JDK5.0、6、7、8新特性简单对比
- JDK1.5(2004年)的新特性
1.自动装箱、拆箱
2.静态导入(static import)
3.增强for循环(for-each)
4.可变参数
5.枚举(enmu)
6.泛型
7.元数据
- JDK6(2006年)的新特性
1.AWT中新增的两个类Desktop和SystemTray
2.使用JAXB2来实现对象与XML之间的映射
3. 新增处理DOM和SAX之外又一种处理XML文档的API:STAX
4. 使用Compiler API动态编译java源文件
5. 轻量级Http Server API
6. 插入式注解处理API(用于处理Annotations)
7. 用Console开发控制台程序
8. 对ruby、groovy、javascript等脚本语言的支持
9. Common Annotations
- JDK7(2011)的新特性
1. 对Java集合(Collections)的增强支持
2. 在switch中可用String
3. 数值可加下划线(eg:int one_million=123_1)
4. 支持二进制文字(int binary=0b1001_1001)
5. 简化可变参数方法的调用
6. 自动资源管理
- JDK8(2014)的新特性
1. Stream函数式操作流元素集合
2. Lambda表达式
3. Java Date/time API
4. 新增接口:默认方法与静态方法
5. Nashorm(Rhino的接替者,轻量级高性能的javascript运行环境)
6. Accumlators多线程lock
7. 方法引用,与Lambda表达式联合使用
8. 引入重复注解
9. 类型注解
10. 新增base64加解密API
11. 数组并行(parallel)操作
12. JVM的permGen空间移除,被Metaspace元空间取代