网站首页 > java教程 正文
提到 Java,就会说到 Java 的众多版本。在正式的开发中,通常都会使用长期支持版本,也就是 LTS 版本。目前 Java 有 3 个 LTS 版本,分别是 Java 8,Java 11 和 Java 17。从统计的数据来看,还是有相当一部分的应用是基于 Java 8 的。Java 11 的使用率在上升,Java 17 的使用率最低。
为什么会有这么大量的 Java 8 用户?为什么他们不升级到 Java 11 或 Java 17 呢?
是否升级,取决于内部和外部的驱动力有多强。
从内部驱动力来说,绝大多数开发人员的想法是,已有的 Java 8 用的好好的,为什么要升级,要是升级之后出问题了呢?改坏了算谁的?非技术人员也并不关心你的应用到底使用的是 Java 8 还是 Java 17。这些只是实现的细节。只要应用能够按照预期的方式工作,这就足够了。
从外部驱动力来说,就是应用依赖的第三方框架和库提高了对 Java 版本的要求。比如, Spring 6 和 Spring Boot 3 就要求必须使用 Java 17。这会影响已有项目的升级和新项目的开发。如果你想把已有的项目升级到 Spring 6,或者使用 Spring 6 开发新项目,那么就必须升级到 Java 17。不过这样的动力也不够强。很多公司在升级框架版本的时候都会比较小心。尤其这样的大版本升级。一般会等待新版本稳定之后再进行升级。开发人员也需要一定的时间来熟悉新版本。
还有另外一个很重要的原因是从 Java 8 到 Java 17,Java 并没有增加什么让人觉得非升级不可的功能。虽然有很多不错的改动,包括语法层面、Java 类库和虚拟机等。但这些改进并不是决定性的。这些新功能带来的好处,无法抵消升级所带来的成本和风险。
可以预期的是,这样的情况还会持续很长一段时间。有些应用甚至永远都不会升级。对于新项目来说,还是建议从 Java 17 或 Java 11 开始,充分利用 Java 新版本的新特性,提升开发效率。
猜你喜欢
- 2024-10-30 Java 程序员必须掌握的 20+ 种 Spring 常用注解
- 2024-10-30 高级Java程序员必备的二十个技术点,你会了吗?(二)
- 2024-10-30 年收入二十万的Java程序员,是怎么理解JVM类加载机制的
- 2024-10-30 Java程序员必备的20个库,你有吗?
- 2024-10-30 大数据 java语法之语法(20)(java大数据和Python大数据)
- 2024-10-30 java布道者耗尽20年的功力整理完结java实战第2版文档
- 2024-10-30 “全栈2019”Java异常第二十章:自定义异常详解
- 2024-10-30 Java高级工程师需要弄明白的20个知识点
- 2024-10-30 从事JAVA 20年最终却败给了Python,泪奔
- 2024-10-30 Java开发者必须掌握的20个Spring常用注解
你 发表评论:
欢迎- 07-15采用Oracle OSB总线进行服务注册和接入
- 07-15javaEE 新闻管理系统 oracle11+tomcat6
- 07-15从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 07-15如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 07-15【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 07-15【mykit-data】 数据库同步工具(数据库表同步工具)
- 07-15[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- 07-15Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 最近发表
-
- 采用Oracle OSB总线进行服务注册和接入
- javaEE 新闻管理系统 oracle11+tomcat6
- 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 【mykit-data】 数据库同步工具(数据库表同步工具)
- [Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- Oracle数据库云服务系列新增前所未有的企业级功能
- 直播预告丨如何实现Oracle存储过程到java的一键转化
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)