主要修订版中Java语言更改的简要说明

nag*_*gul 4 java programming-languages java1.4 java-5

经过多年的努力,我即将再次进入Java开发阶段.我使用的语言修订版是1.4.2.我知道从那以后语言发生了重大变化,我正在寻找一个详细介绍这些内容的网站或书籍.至少,我正在寻找一个资源,指出在哪个版本中添加了哪些语言功能,所以我可以一目了然地跳过我已经熟悉的部分.有什么建议 ?

Von*_*onC 7

维基百科条目似乎是想看看够简洁.

提取:

J2SE 5.0(2004年9月30日)

代号老虎.(最初编号为1.5,仍然用作内部版本号.)在JSR 176下开发,Tiger增加了许多重要的新语言功能:

  • 泛型:为集合提供编译时(静态)类型安全性,并消除了大多数类型转换(类型转换)的需要.(由JSR 14指定.)
  • 元数据:也称为注释; 允许使用其他数据标记语言结构(如类和方法),然后可以通过元数据感知实用程序对其进行处理.(由JSR 175指定.)
  • Autoboxing/unboxing:原始类型(如int)和原始包装类(如Integer)之间的自动转换.(由JSR 201指定.)
  • 枚举:enum关键字创建一个类型安全的有序值列表(例如Day.MONDAY,Day.TUESDAY等).以前,这只能通过非类型安全常量整数或手动构造的类(类型安全枚举模式)来实现.(由JSR 201指定.)
  • Swing:新的skinnable外观和感觉,称为synth.
  • Varargs:现在可以使用类型名称后跟三个点来声明方法的最后一个参数(例如void drawtext(String ... lines)).在调用代码中,可以使用该类型的任意数量的参数,然后将它们放在要传递给方法的数组中,或者调用代码可以传递该类型的数组.
  • 针对每个循环进行了增强:for循环语法使用特殊语法进行扩展,以迭代数组或任何Iterable的每个成员,例如标准Collection类(由JSR 201指定).
  • 修复以前破坏的Java内存模型语义,它定义了线程如何通过内存进行交互.
  • RMI对象的自动存根生成.
  • 静态导入

  • 1.5.0_17(5u17)是Java的最后一个版本,正式支持Microsoft Windows 9x系列(Windows 95,Windows 98,Windows ME).1非正式地,Java SE 6 Update 7(1.6.0.7)是在此系列操作系统上运行的最后一个Java版本.

  • 包java.util.concurrent中的并发实用程序.

J2SE 5.0于2008年4月8日进入报废阶段,并且自2009年10月30日起Sun将不再支持.

Java SE 6(2006年12月11日)

代号野马.从这个版本开始,Sun用Java SE取代了名称"J2SE",并从版本号中删除了".0".开发人员的内部编号仍为1.6.0.此版本是在JSR 270下开发的.

在开发阶段,大约每周发布包括增强功能和错误修复的新版本.Beta版本于2006年2月和6月发布,最终发布于2006年12月11日.目前的版本是2009年2月发布的Update 12.

此版本中包含的主要更改:

  • 对较旧的Win9x版本的支持下降.非正式的Java 6 Update 7是Java的最后一个版本,可以在这些版本的Windows上运行.这被认为是由于Update 10的重大变化.
  • 脚本语言支持(JSR 223):用于与脚本语言紧密集成的通用API,以及内置的Mozilla Javascript Rhino集成
  • 核心平台[17] [18]和Swing的性能改进得到了显着改善.
  • 通过JAX-WS改进Web服务支持(JSR 224)
  • JDBC 4.0支持(JSR 221).
  • Java编译器API(JSR 199):允许Java程序以编程方式选择和调用Java编译器的API.
  • 将JAXB升级到2.0版:包括StAX解析器的集成.
  • 支持可插入注释(JSR 269).
  • 许多GUI改进,例如在API中集成SwingWorker,表格排序和过滤,以及真正的Swing双缓冲(消除灰色区域效果).

Java SE 6 Update 10

Java SE 6 Update 10(以前称为Java SE 6 Update N)虽然不会更改任何公共API,但它在最终用户可用性方面是一项重大改进.发行版目前可供下载.

此更新的主要更改包括:

  • Java Deployment Toolkit,一组JavaScript函数,用于简化applet和Java Web Start应用程序的部署.
  • Java Kernel,一个小型安装程序,仅包含最常用的JRE类.其他包在需要时下载.
  • 增强的更新程序.
  • 增强的版本控制和pack200支持:不再需要服务器端支持.
  • Java Quick Starter,用于改善冷启动时间.
  • 使用Direct3D和硬件加速提高了Windows上Java2D图形基元的性能.
  • 一种新的Swing外观和感觉称为Nimbus,基于合成器.[23]
  • 下一代Java插件:applet现在在一个单独的进程中运行,并支持Web Start应用程序的许多功能