今天一个电话面试中问道JDK5与JDK6的区别,打得不好,确切的说没答出来。赶忙到晚上查了下资料。记录在博客中。
http://hi.baidu.com/salever/blog/item/7f3150c61455001c9c163dc5.html
1. 泛型
2 自动装箱/拆箱
3 for-each
4 static import
5 变长参数
1. 泛型 1.4之前 java util包中容器类,装的是Object对象,你要装特定的类型可以,但要强制转换,这可能导致运行时错误.
例:原来ArrayList list=new ArrayList();
list.add(new Integer(3));
list.add(new Integer(4));
int i=((Integer)(list.get(0))).parseInt();
很麻烦
现在ArrayList <Integer> list=new ArrayList <Integer> ();
list.add(new Integer(3));
list.add(new Integer(4));
int i=list.get(0).parseInt();
不用Cast,运行时错误变为编译时错误,这是进步.
类似与C++中的摸板templete.但机理不同.
2 自动装箱/拆箱
还是刚才例子
最后一句可改为
int i=list.get(0);
原始类型与对应的包装类不用显式转换,方便
3 for-each
循环的增强
int a[]={……..};//初始化,略
for(int i:a)
{
……
}
不用以前的i=0;i <a.length;i++
4 static import
以前调Java.math
Math.sqrt();
现在 static import java.lang.Math.sqrt;
再 sqrt();
相当于你自己类里有这个方法
5 变长参数
int sum(int …intlist)
{
int i,sum;
sum=0;
for(int i=0;i <intlist.length;i++)
{
sum+=list[i];
}
return sum;
}
有任意个参数,把他看作数组
jdk6和jdk5相比的新特性有:
1、instrumentation
在 Java SE 6 里面,instrumentation 包被赋予了更强大的功能:启动后的 instrument、本地代码 instrument,以及动态改变 classpath 等等。
2、Http有所增强
3、 Java 管理扩展(JMX) 架构及其框架,以及在 Java SE 5 中新引入的 JMX API — java.lang.management 包
4、JDK 6 中新增加编译器 API(JSR 199)。利用此 API,您可以在运行时调用 Java 编译器,可以编译不同形式的源代码文件,还可以采集编译器的诊断信息。
5、Java DB 和 JDBC 4.0
6、对脚本语言的支持
Java SE 6 新引入的对 JSR 223 的支持,它旨在定义一个统一的规范,使得 Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在 Java 平台上调用各种脚本语言的目的。
7、XML API 与 Web 服务
Java SE 6 中提供的 XML 处理框架,以及在此框架之上结合注释(Annotation) 技术,所提供的强大的针对 Web 服务的支持
详细介绍见:http://www.ibm.com/developerworks/cn/java/j-lo-jse6/
分享到:
相关推荐
在本主题中,我们重点关注的是Windows 64位系统下的JDK6、JDK7和JDK8的安装包。这三个版本的JDK在Java的发展历程中都占有重要的地位,它们为开发者提供了编写、编译、调试和运行Java应用程序所需的所有工具。 首先...
1. **泛型类型推断**:Java 5引入了泛型,而JDK6进一步优化了这一特性,允许编译器进行类型推断,减少了冗余的类型参数。 2. **改进的Swing和AWT**:Swing组件得到了增强,例如JTable的性能提升,以及更好的布局...
mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...
官网 jdk6,jdk7,jdk8,jdk9,jdk10 windox 32位、64位、linux 32位、64位 百度云。
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
这个压缩包文件"jdk-6u45-linux-x64.zip"包含的是JDK 1.6.0_45(也被称为6u45或1.6u45)的64位Linux版本。JDK 1.6是Java平台标准版的一个重要版本,它提供了许多功能和性能改进,是许多企业级应用的基础。 JDK 1.6u...
JDK6 帮助文档 JDK6 帮助文档JDK6 帮助文档 JDK6 帮助文档
jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-...
jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助...
linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6
jdk5、jdk6新特性系统介绍.chm 系统、全面 本人自己整理的资料
【标题】"jdk6-linux"指的是Java Development Kit (JDK) 的6版,专为Linux操作系统设计。在软件开发领域,JDK是用于编写、测试和运行Java应用程序的关键工具集。这个版本是针对Linux环境的,它包含了编译器、调试器...
32位JDK可以与32位的应用程序和库无缝配合,确保兼容性。对于开发和运行32位Java应用,尤其是那些依赖32位库的项目,使用32位JDK是必要的。 在使用JDK 6时,开发者需要注意以下几点: 1. **环境变量配置**:安装...
JDK6 帮助文档 JDK6 帮助文档JDK6 帮助文档 JDK6 帮助文档
JDK 与 JRE 的区别 JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别。下面我们将详细介绍 JDK 和 JRE 的概念、区别和关系。 JDK JDK...
jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码
mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk...
jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows...
3. **自动装箱与拆箱**:JDK 5.0中,原始类型(如int)与对应的包装类(如Integer)之间可以自动进行装箱(将原始类型转换为对象)和拆箱(将对象转换为原始类型)操作,简化了代码编写。 4. **可变参数(Varargs)...
java jdk1.6 绿色版解压可以直接用java jdk1.6 绿色版解压可以直接用java jdk1.6 绿色版解压可以直接用java jdk1.6 绿色版解压可以直接用java jdk1.6 绿色版解压可以直接用java jdk1.6 绿色版解压可以直接用java jdk...