- Java编程从入门到精通
- 胡平 刘涛主编
- 790字
- 2025-04-02 16:03:06
1.4.1 本书为何基于JDK 8
如前所述,经过20余年的发展,JDK已经发布了10余个主版本,应该基于其中哪个版本来学习呢?我们认为应遵循以下几个标准。
1. 不选择最新或较老的版本
与日常生活中使用各种应用软件不同,开发软件时所使用的各种开发工具和运行环境通常不建议选择最新的版本,原因有以下几个方面。
(1)尽管最新版通常都向下兼容之前的版本,但由于其发布时日较短,尚未经过足够的实际项目检验,可能存在较多的未知Bug。
(2)对于最新版所引入的新特性,绝大多数项目根本不会用到,或者能通过其他方式达到相同的效果。
(3)最新版能够获取到的文档资料相对较少。
也不建议选择较老的版本。较老版本由于不支持某些语言或语法特性,从而导致无法实现某些特定功能或降低开发效率。此外,官方可能不再提供对这些较老版本的修复、更新和支持。再有,大多数Java项目所依赖的主流开源框架和库也对JDK的最低版本有一定要求,而该最低版本通常集中在JDK 6、JDK 7或JDK 8。
2. 选择长期支持版本
从JDK 6开始,Oracle为每个JDK主版本都提供了支持时间表,如表1-3所示。
表1-3 JDK 6以后各主版本的支持时间

可见,截止到本书完成时间(2019年3月),对JDK 6的首要和扩展支持均已停止,对JDK 7的首要支持即将停止。JDK 9、JDK 10、JDK 12虽然发布不久,但各自仅提供半年的首要支持,且不提供扩展支持,而JDK 8、JDK 11均为LTS(Long Term Support,长期支持)版本。
在支持时间截止前,官方将不断为相应版本的JDK修复已知Bug和兼容性问题,并做性能优化和改进工作。因此,应尽可能选择JDK的长期支持版本。
3. 选择工业界使用最为广泛的版本
对于今后开发实际项目,还应充分考量JDK版本的成熟和稳定性,以及当遇到各种技术问题时,是否能较为便捷地通过官网或搜索引擎获取到有效的文档资料和解决方案。就目前而言,工业界绝大多数已上线或正在开发中的Java项目是基于JDK 6、JDK 7或JDK 8的[1]。
综合考量以上标准,故本书选择了基于JDK 8而非JDK 6、JDK 7、JDK 9、JDK 10、JDK 11或JDK 12。