zoukankan      html  css  js  c++  java
  • JDK各个版本的新特性

    JAVA

    java之父

    詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”

    詹姆斯·高斯林毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,

    后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言

    Java发展史

    1995年5月23日,Java语言诞生

    1996年1月,第一个JDK–JDK1.0诞生

    1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

    1996年9月,约8.3万个网页应用了JAVA技术来制作

    1997年2月18日,JDK1.1发布

    1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

    1997年9月,JavaDeveloperConnection社区成员超过十万

    1998年2月,JDK1.1被下载超过2,000,000次

    1998年12月8日,JAVA2企业平台J2EE发布

    1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)

    2000年5月8日,JDK1.3发布

    2000年5月29日,JDK1.4发布

    2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

    2001年9月24日,J2EE1.3发布

    2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升

    2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0(因为新特新增加特别多,所以起了个高大上的名字!)

    2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME

    2006年12月,SUN公司发布JRE6.0

    2009年12月,SUN公司发布Java EE 6

    2011年7月28日,Oracle公司发布Java SE 7

    2014年3月18日,Oracle公司发表Java SE 8

    2018年03月21日,Oracle公司发表Java SE 10

    2018年09月25日,Oracle公司发表Java SE 11

    从Java SE9开始遵循半年一个版本的更新速度,Oracle将每三年指定一个版本作为长期支持(LTS)版本。到目前为止,已经发布了Java SE11、Java SE12

    目前Java SE 8是市场的主流版本

    Java版本新特性

    Java 1.0

    Java虚拟机

    Applet

    AWT

    Java 1.1

    JAR文件格式

    JDBC

    Java Beans

    RMI

    Java 1.2

    EJB

    Java Plug-in

    Java IDL

    Swing

    Java 1.3

    Math

    Timer API

    JNDI

    RMI-IIOP

    Java 2D API

    Java Sound

    Java 1.4

    Regular Expressions

    异常链

    NIO

    日志类

    XML解析器

    XSLT解析器

    Java 1.5

    自动装箱与拆箱

    泛型

    动态注解

    枚举

    可变长参数

    遍历循环

    静态导入

    Java 6

    提供动态语言支持

    Desktop类和SystemTray类

    使用JAXB2来实现对象与XML之间的映射

    理解STAX

    使用Compiler API

    轻量级 Http Server API

    插入式注解处理 API

    使用Console开发控制台程序

    Common Annotations

    Java GUI界面的显示

    嵌入式数据库Derby

    Web服务元数据

    Jtable的排序和过滤

    更简单更强大的JAX-WS

    Java 7

    switch语句中可以使用字符串

    泛型实例化类型自动推断

    自定义自动关闭类

    新增一些读取环境信息的工具方法

    Boolean类型反转,空指针安全,参与位运算

    两个char之间的equals

    更加安全的加减乘除

    对Java集合( Collections)的增强支持

    数值可加下划线

    支持二进制数字

    Java 8

    接口的默认方法

    1.允许在接口中定义非抽象方法,但是需要关键字default修饰
    
    接口中默认方法的定义格式:
    
    格式:public default 返回值类型 方法名(参数列表){}
    
    范例:public default void show(){}
    
    接口中默认方法的注意事项:
    
    默认方法不是抽象方法,不强制被重写。重写的时候去掉default关键字
    
    public 可以省略,default不能省略
    
    如果实现了多个接口,而且存在相同的方法声明,子类必须对该方法重写
    
    2.允许定义static静态方法
    
    静态方法的定义格式:
    
    格式:public static 返回值类型 方法名(参数列表){}
    
    范例:public static void show(){}
    
    静态方法的注意事项:
    
    静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
    
    public 可以省略,static不能省略
    

    Lambda表达式

    函数式接口

    方法与构造函数引用

    扩展了集合类

    新的Date API

    Annotation多重注解

    Streams API

    Parallel Streams

    Map数据结构改进

    Java 9

    Jigsaw模块化项目

    简化进程API

    轻量级JSON API

    钱和货币的API

    改善锁竞争机制

    代码分段缓存

    智能java编译

    HTTP2.0客户端

    Kulla计划

    Java 10

    局部变量的类型推断

    GC改进和内存管理

    线程本地握手

    备用内存设备上的堆分配

    其他Unicode语言 - 标记扩展

    基于Java的实验性JIT编译器

    开源根证书

    根证书颁发认证(CA)

    将JDK生态整合单个存储库

    删除工具javah

    Java REPL(JShell)

    Java 11

    本地变量类型推断

    字符串增强

    集合增强

    Stream 增强

    Optional 增强

    InputStream 增强

    标准化HTTP Client API

    单个命令编译运行源代码

    Java 12

    Switch表达式

    Shenandoah垃圾回收集

    JVM Constants API

    Default CDS Archives

  • 相关阅读:
    Java [leetcode 33]Search in Rotated Sorted Array
    JAVA方法和本地方法(转载)
    Java集合框架
    常用排序算法
    Java [leetcode 32]Longest Valid Parentheses
    四大组件的生命周期
    Android Service即四大组件总结
    Java [leetcode 31]Next Permutation
    android 组件设置屏幕大小
    MenuInflater用法
  • 原文地址:https://www.cnblogs.com/tyrion4396/p/13375029.html
Copyright © 2011-2022 走看看