Java平台java下哪个版本好如何选择?

JDK发展 20多年,我们要如何在众多的 JDK版本中选择最合适你的版本,今天就来帮你解决这个问题。背景Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,下图为Java的 logo:img.png鉴于 Java的快速发展,目前 JDK的版本比较多,今天就一起来回顾一下 Java的发展历程,以及对于JDK众多版本,我们在生产环境上该如何选择。Java的诞生1995年,Sun公司发布了 JDK Beta版本,这是 Java的第一个版本,标志着一场面向对象语言革命的到来。Sun公司,简称 SUN,名字是由斯坦福大学网络(Stanford University Network)缩写而来,该公司主要产品包括工作站、服务器和UNIX操作系统等,公司于 1986年在美国纳斯达克上市,后于2009年被 Oracle(甲骨文)公司收购,结束长达27年的公司历史。另外,提到 Java语言,就不得不提到 Java的创造者,被公认为"Java之父"的James Gosling(詹姆斯·高斯林),1990年,James Gosling 开发了 Java语言的雏形,最初被命名为Oak,后来在 Sun公司的推动下,改名为 Java。下图为 James Gosling的照片及简介:img.png 1955 年 5 月 19 日, James Gosling 出生于加拿大阿尔伯塔省卡尔加里; 1977 年,获得加拿大卡尔加里大学计算机科学学士学位; 1983 年,获得了美国卡内基梅隆大学计算机科学博士学位;毕业后到 IBM工作,设计 IBM第一代工作站 NeWS系统,但不受重视,后来转至 Sun公司; 1990 年,James Gosling 与Patrick Naughton、Mike Sheridan等人合作「绿色计划」,后来发展一套语言叫做「Oak」,后改名为 Java;
1994 年底,James Gosling在矽谷召开的「技术、教育和设计大会」上展示Java程式; 2009 年 4月 20 日,Oracle 公司以每股9.50美元,总额 74亿美金收购 Sun公司;
2010 年 4月,James Gosling从 Oracle公司离职; 2011 年 3 月 29 日,高斯林在个人博客上宣布将加入Google; 2011 年 8 月 30 日,加入Google数月之后的高斯林就在个人博客上宣布离开Google,加盟一家从事海洋机械人研究的创业公司Liquid
Robotics,担任首席软件架构师; 2011 年 5 月,Scala 公司Typesafe Inc.,高斯林被列为公司顾问;从 1995年 到 2009年,Java在 Sun公司渡过了启蒙和快速发展的14年,Java 也成为了全球最受欢迎的编程语言之一。Java的转折2009 年 4月 20 日,Oracle 公司以每股9.50美元,总额 74亿美金收购 Sun公司,从此 Sun公司退出历史舞台,Java 也正式进入 Oracle的怀抱,在 Oracle公司,Java迎来了自己的高光时刻。下图为 Java在Oracle公司发布的版本:img.png版本及功能下图总结了 JDK从第一个发布版本到现在所有的版本信息: img.png从上图可以看出,最开始 Sun公司是以 JDK(Java SE Development Kits,Java 开发包)命名,从1.2 版本起,修改成以 J2SE(Java 2 Platform, Standard Edition)命名,从 Java SE 6后 Java不再带有"2" 这个号码,后面的版本全部以 Java SE + 数字版本 命名。尽管在 Java发展历史上出现过好多名词,比如 J2SE,J2ME,J2EE,但还是可以笼统的认为:Java = Java SE = JDK。针对几个长期维护版本,列举了其重要功能升级:JDK 8Lambda 和 函数式接口方法推导接口默认方法和静态方法重复注解类型注解类型推断OptionalStream日期时间 APIBase64 支持并行数组 ParallelSortJDK 11基于嵌套的访问控制标准 HTTP Client 升级Epsilon:低开销垃圾回收器简化启动单个源代码文件的方法用于 Lambda 参数的局部变量语法低开销的 Heap Profiling支持 TLS 1.3 协议ZGC:可伸缩低延迟垃圾收集器飞行记录器动态类文件常量JDK 17语言特性增强密封的类和接口(正式版)工具库的更新JEP 306:恢复始终严格的浮点语义JEP 356:增强的伪随机数生成器JEP 382:新的macOS渲染管道新的平台支持JEP 391:支持macOS AArch64旧功能的删除和弃用JEP 398:弃用 Applet APIJEP 407:删除 RMI 激活JEP 410:删除实验性 AOT 和 JIT 编译器JEP 411:弃用安全管理器以进行删除新功能的预览和孵化APIJEP 406:新增switch模式匹配(预览版)JEP 412:外部函数和内存api (第一轮孵化)JEP 414:Vector API(第二轮孵化)JEP 389:外部链接器 API(孵化器)JEP 393:外部存储器访问 API(第三次孵化) 备注: LTS: long time support,长时间支持如何选择版本通过上面的介绍可以看出,JDK 8,JDK 11,JDK 17 是 3个长期维护的版本,但因为 JDK 17是 2021年发布的 GA版本,所以,生产上尽量选择 JDK 8 或者 JDK 11。在 JDK版本的选择上,尽量选择长期维护的版本,不要使用最新版本的。因为新版本的 JDK,新功能没有经过生产环境的验证,如果想成为第一个吃螃蟹的人,一定要三思能否 hold得住。

我要回帖

更多关于 java下哪个版本好 的文章