Java发展史
是SUN(Stanford University Network,斯坦福大学网络公司) 1995年推出的一
门高级编程语言。
是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以
在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使
用现代的图形用户界面与Web用户进行交互。applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
后台开发:Java、PHP、Python、Go、Node.js
JDK发布历程
版本 发布时间 更新功能 别称 目的 Green Project 1991年4月 绿色计划正式启动 Oak(橡树) 开发一种能够在各种消费性电子产品上运行的程序架构 Java1.0 1995年5月 仅更名 口号:Write Onec,Run Anywhere 随着95年互联网潮流兴起,Oak确定市场定位,并提出口号 JDK1.0 1996年1月 Java虚拟机(纯解释执行虚拟机Sun Classic VM)、Applet、AWT等 Java Java的第一个版本出世 JDK1.1 1997年2月 JAR文件格式、JDBC、JavaBeans、RMI、内部类(Inner Class)和反射(Reflection) JDK1.14-JDK1.18五个版本,每个版本都有一个别称 提出基础技术支撑点 JDK1.2 1998年12月 EJB、Java Plug-in、Java IDL、Swing,内置了JIT即使编译器 ,加入了strictfp关键字,引入了Collections集合类 Playground(竞技场) Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生,1999年4月HotSpot虚拟机诞生(非sun公司开发) JDK1.3 2000年5月 改进Java类库(如数学运算和新的Timer API)、使用CORBAIIOP来实现RMI通信协议、提供了大量的java 2D API Kestrel(美洲红隼) java类库扩展,JNDI升级为平台级服务(以前是扩展服务) JDK1.4 2002年2月 正则表达式、异常链、NIO、日志类、XML解析器和XSLT转换器 Merlin(灰背隼) java功能扩展 .NET Framework 2002年前后 技术实现和目标用户都与Java有很多相似之处 竞争者诞生 JDK 1.5 2004年9月 自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环),改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包 Tiger(老虎) Windows 9x操作系统的最后一个JDK版本,为了突出重要性更名为JDK5.0 JDK6 2006年12月 提供初步的动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、提供编译器注解处理器和微型HTTP服务器API;锁与同步、垃圾收集、类加载 Mustang(野马) 更改命名:J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME、Java代码开源 sun被Oracle收购 2009年4月 sun公司无力继续推进JDK7.0,原始计划7.0包括:Lambda表达式、Jigsaw虚拟机层面模块化、完善动态语言支持、Garbage-First(G1)收集器、Java语法细节化 JDK 7.0 2011年7月 提供G1收集器、加强对非Java语言的调用支持(JSR-292),可并行的类加载架构 Dolphin(海豚) Lambda表达式、Jigsaw项目和Java语法细节化延迟到JDK8发布、JavaSE开始对Mac OS X提供支持 JDK 8.0 2014年 Lambda 表达式、方法引用、默认方法、新工具、Stream API、Date Time API 、Optional 类、Nashorn, JavaScript 引擎、移除了HotSpot永久代 Spider(蜘蛛) 是继JDK 5.0以来变化最大的版本,Jigsaw再次延期 JDK 9.0 2017年9月 集合加强、私有接口方法、垃圾收集机制、I/O流加强、JS Shell、JLink、JHSDB工具 Jigsaw项目最大限度实现模块化 JDK 10.0 2018年3月 局部变量类型推断、线程本地握手、GC改进和内存管理 内部重构—–统一源仓库、统一垃圾收集接口、统一即时编译器接口(Graal) JDK 11.0 2018年9月 字符串加强、HttClient Api、用于 Lambda 参数的局部变量语法、ZGC ZGC革命性的垃圾收集器 JDK 12.0 2018年9月 Switch表达式、Shenandoah GC(RadHat) Shenandoah GC(低暂停垃圾收集算法) JDK 13.0 2018年9月 switch优化更新、文本块升级、重新实现旧版套接字API、核心库/java.util中:I18N、取消使用未使用的内存 功能优化 JDK 14.0 2020年3月 switch优化变更为最终版、垃圾回收相关、instanceof的模式匹配(预览版)、删除了安全库java.security.acl API、货币格式(优化) 功能优化