代码之家  ›  专栏  ›  技术社区  ›  nagul

Java语言主要修订中变化的简明解释

  •  4
  • nagul  · 技术社区  · 17 年前

    几年后,我将再次投身于Java开发。我使用的语言版本是1.4.2。我知道自那以后,语言发生了重大变化,我正在寻找一个网站或一本书来详细介绍这些变化。至少,我正在寻找一个资源,说明在哪个版本中添加了哪些语言功能,这样我就可以一目了然地跳过我已经熟悉的部分。有什么建议吗?

    6 回复  |  直到 14 年前
        1
  •  7
  •   VonC    17 年前

    Wikipedia entry 对于你想看的内容来说,它似乎足够简洁。

    J2SE 5.0(2004年9月30日)

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

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

    • 1.5.0_17(5u17)是Java正式支持微软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将不再支持J2SE 5.0。

    Java SE 6(2006年12月11日)

    代号野马。从这个版本开始,Sun将名称“J2SE”替换为Java SE,并从版本号中删除了“.0”。开发人员的内部编号仍然是1.6.0。此版本是根据JSR 270开发的。

    在开发阶段,包括增强功能和错误修复在内的新版本大约每周发布一次。测试版于2006年2月和6月发布,最终于2006年12月11日发布。目前的版本是2009年2月发布的第12次更新。

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

    • 不再支持旧版本的Win9x。非正式的Java 6 Update 7是最后一个在这些版本的Windows上运行的Java版本。据信,这是由于更新10中的重大变化造成的。
    • 脚本语言支持(JSR223):通用API与脚本语言紧密集成,内置MozillaJavascriptRhino集成
    • 核心平台[17][18]和Swing的性能得到了显著提升。
    • 通过JAX-WS改进Web服务支持(JSR 224)
    • JDBC 4.0支持(JSR 221)。
    • Java编译器API(JSR199):一种API,允许Java程序以编程方式选择和调用Java编译器。
    • 将JAXB升级到2.0版本:包括集成StAX解析器。
    • 支持可插拔注释(JSR 269)。
    • 许多GUI改进,例如在API中集成SwingWorker、表排序和过滤,以及真正的Swing双缓冲(消除灰色区域效应)。

    Java SE 6更新10

    Java SE 6 Update 10(以前称为Java SE 6 UpdateN)虽然不会更改任何公共API,但它意味着最终用户可用性方面的重大增强。发布版本目前可供下载。

    此更新的主要更改包括:

    • Java部署工具包,一组JavaScript函数,用于简化小程序和Java Web Start应用程序的部署。
    • Java内核,一个只包含最常用JRE类的小型安装程序。其他软件包会在需要时下载。
    • Java快速入门,缩短冷启动时间。
    • 使用Direct3D和硬件加速提高了Windows上Java2D图形图元的性能。
    • 一种新的Swing外观和感觉,名为Nimbus,基于synth。[23]
    • 下一代Java插件:小程序现在在单独的进程中运行,并支持Web Start应用程序的许多功能
        2
  •  1
  •   user7094 user7094    17 年前

    你可以访问Sun的官方网站。您可以在中找到更改 Java 5 Java 6 我认为大多数重要的语言变化都出现在Java 5中,包括泛型、Autoboxing、Varargs、Enums等。

        3
  •  1
  •   Michael Borgwardt    17 年前

    以下是孙的名单 new features in Java 5 .

    有很多,它们非常基础。

    相比之下,我认为Java 6中的语言本身根本没有任何变化。

        4
  •  1
  •   mtruesdell    17 年前

    大约一年前,我和你在同一条船上,发现 Java 1.5 Tiger A Developer's Notebook 作为1.4和1.5之间主要变化的速成课程非常有用。它会让你加快速度。然后,您可以使用sun的网站或其他资源进行深入学习。

        5
  •  0
  •   Oli    17 年前

    Generics

    如果你熟悉C++,那么它只是Java的模板。

        6
  •  0
  •   Varkhan    17 年前

    我发现我离不开Java 6的主要功能,按重要性顺序排列如下:

    • 泛型 :允许语言了解类型参数(集合、容器、工厂中的成员对象类型……)
    • 自封箱 :将基本类型自动转换为对象,反之亦然
    • 协方差返回类型覆盖 :类似于多态性,允许您用更具体的返回类型重写方法。