首先比较下两个版本的特性情况:
JDK 8:
- 广泛的应用: JDK 8是一个非常成熟的版本,广泛用于各种项目和应用中。许多项目和组织仍在使用 JDK 8,因此您可能会发现更多的资源和支持。
- 稳定性: JDK 8已经经历了长时间的发展和测试,因此在稳定性方面表现良好。
- Lambda表达式: JDK 8引入了Lambda表达式,这是一项强大的功能,使得编写更简洁和可读性更高的代码成为可能。
- Stream API: JDK 8引入了Stream API,用于处理集合数据的函数式方法,这可以简化数据处理并提高性能。
- 新的日期时间API: JDK 8引入了新的日期时间API,使日期和时间处理更容易。
JDK 11:
- 长期支持(LTS): JDK 11是一个LTS版本,意味着它将获得长期支持和维护,适用于生产环境。
- 模块化系统: JDK 11引入了模块化系统(Java Platform Module System,JPMS),以改进Java的模块性。
- 性能改进: JDK 11包含了性能改进和优化,可以提高应用程序的性能。
- 新功能和API: JDK 11引入了一些新的功能和API,以增强Java的功能,例如HTTP客户端API、局部变量类型推断等。
- 安全性: JDK 11包括了一些安全性改进,以提高应用程序的安全性。
在实际项目中如何选择取决以下几点因素:
1.如果原有的项目是JDK8,新开发的项目是原来业务的延伸拓展。那么还是选择JDK8。
2.系统稳定最重要,JDK8已经被验证过,目前JDK8仍然是被主要使用的开发版本,技术还是要服务于业务,稳定大于一切;
3.如果是一个全新的项目,那可以选择JDK11,JDK11可以获得官方更长久的支持。