7

为什么就是没有人愿意升级到最新的 JDK?

 1 year ago
source link: https://www.v2ex.com/t/890606
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Java

为什么就是没有人愿意升级到最新的 JDK?

  Joker123456789 · 2 小时 9 分钟前 · 1702 次点击

这是我非常不理解的一件事,如果说老项目有历史包袱,那么新项目呢? 如果说 8 以上担心 费用问题,不是有 openjdk 吗?

如果说 你做不了主,那么项目 leader 为什么不愿意用新的呢?站在公司外的角度来看,项目 leader 也是 java 开发者之一,他不是另一个群体。

40 条回复    2022-10-28 12:42:31 +08:00
redvoilin

redvoilin      2 小时 6 分钟前

因为为公司打工要考虑收益和风险,正在用的成熟技术如果可以完成需求,不用付出额外成本,风险还小,试问有多少人有动力升级
neochen13

neochen13      2 小时 5 分钟前

新项目一般基于 11 了吧……
xiangyuecn

xiangyuecn      2 小时 4 分钟前

只要人和代码一个能 run 就行,什么最新版不最新版,不重要
RRyo

RRyo      2 小时 3 分钟前   ❤️ 1

前排提醒 https://v2ex.com/t/852381
====↓赛博自由搏击战开始↓====
Ufo666

Ufo666      2 小时 2 分钟前

学习成本,线上环境变更,旧项目不全兼容...懒得折腾,就用 v8 喽
superrichman

superrichman      2 小时 0 分钟前

新版本 => 新功能 => 测试少 => 潜在问题多 => 新问题很可能连解决办法都没有。
生产环境出了这种问题怎么办?等死吗?
ghost024

ghost024      1 小时 58 分钟前   ❤️ 1

他们技术选型的时候主要是害怕如果是最新的 jdk 的话,周围的生态没有跟进,所以就用 java8 了
Kaiv2

Kaiv2      1 小时 51 分钟前

依赖的包没有升级,除非不用
dwlovelife

dwlovelife      1 小时 51 分钟前

两个原因吧
dwlovelife

dwlovelife      1 小时 50 分钟前

1. 大部分老项目是基于 JAVA8 的,依赖太多不容易进行版本升级
2. 大部分人不是那么热爱学习的,特别是所谓的领导,java8 以上的新特性又不会升上去干嘛呢?
bk201

bk201      1 小时 50 分钟前

升级你总归要带来收益,解决实际问题。你要是升级带来问题,不知道解决什么问题,你升个啥玩意?手贱?
coala

coala      1 小时 49 分钟前

当你引入一个 xx 驱动包.jar 只写了支持 jdk8 是, 用着 11 的我内心是坎坷着硬上的.
Joker123456789

Joker123456789      1 小时 47 分钟前

都在说生态问题,但是 JDK 不是向下兼容的吗? 难道是 17 开始已经变了?
Joker123456789

Joker123456789      1 小时 46 分钟前

@bk201 我说了那么多场景,你就只盯着老项目升级。
lakehylia

lakehylia      1 小时 43 分钟前

新项目也不会是全新的项目啊,一般都会用下公司里面现成的组件,比如登录 /会员等等。
lsry

lsry      1 小时 42 分钟前

這不單單是個 jdk 的問題,還依賴有其他框架,尤其是某些内部自研框架,完全跟 8 綁定,升級 jdk 會導致一堆的不兼容問題。
Jwyt

Jwyt      1 小时 40 分钟前

@Joker123456789 升级 jdk 还是需要项目驱动,我们组很多就升到 11 了,因为底层有几个开源的依赖必须要 jdk11 以上
lisongeee

lisongeee      1 小时 39 分钟前

如果 java 像 js 一样有 babel/esbuild 这类转译工具,也可以在 java8 上使用部分的 最新 java 特性
66beta

66beta      1 小时 39 分钟前

除了问题,谁担责?
lmshl

lmshl      1 小时 36 分钟前   ❤️ 1

我 17 都上生产两年了 ZGC 和 GraalVM 都分别用过,别人爱升不升,别来烦我就行

----------
java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06)
OpenJDK 64-Bit Server VM GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06, mixed mode, sharing)
yaphets666

yaphets666      1 小时 33 分钟前

开发软件是用来赚钱的,单纯的技术和开发没有意义。
HENQIGUAI

HENQIGUAI      1 小时 31 分钟前

因为服务器掌握在运维手里,运维不升。。小小开发只能自己玩玩 demo.
fwrq41251

fwrq41251      1 小时 26 分钟前

谁升级谁爽,java 现在 6 个月一个版本,每次升级到 lts 版本即可
nekoneko

nekoneko      1 小时 25 分钟前

@coala #12 反编译, 把它不兼容的地方重写了就行
jfj8848

jfj8848      1 小时 25 分钟前

如果不是安全问题或大的功能依赖问题,为什么要升级呢
dcsuibian

dcsuibian      1 小时 25 分钟前

由俭入奢易,由奢入简难。尝试了新功能和新语法糖后,做项目的时候仍然要用老 JDK 。还不如先别试新的。

如果我是一个项目负责人:我会推荐用 Java11 ,不是 8 ,但也不是 17 。
首先出于稳定性考虑,只考虑 LTS 版,8 太旧、17 太新,11 正好。
另一方面是兼容性,虽然我觉得 Java 的向后兼容做得非常好,但偶尔还是会有问题,比如之前发现 11->13 时,nashron 就没了。
最重要的是从众,反正肯定有人会去尝鲜,等别人把坑都踩了,自己再上去不香么。
nekoneko

nekoneko      1 小时 24 分钟前

@fwrq41251 #23 自己玩 17 确实很爽
123zouwen

123zouwen      1 小时 24 分钟前 via iPhone

我们早就是 17 了。从 8 到 11 到 17 还是老项目逐步升级的。

升级 jdk 不只是版本的升级,还得思路代码写法升级。

有多少人用着 jdk8 ,写着 jdk6 的代码?
chenPiMeiHaoChi

chenPiMeiHaoChi      1 小时 23 分钟前

你们打 jdk17 的镜像的基础依赖是啥?
liuzhaowei55

liuzhaowei55      1 小时 21 分钟前 via iPhone

22 楼老哥说的才是真相,整个技术沉淀都是 8 ,往上升意味着整个工具链的升级改造,小公司自己搞搞就上了,大公司只能 cto 层面战略推进了
cmax

cmax      1 小时 20 分钟前

直接升级可能遇到兼容问题,不过可以借助 EMT4J 这个工具减少一些的麻烦,https://zhuanlan.zhihu.com/p/549842999
Anita720

Anita720      1 小时 17 分钟前

JDK17 现在使用 mybatis plus 的问题还没有修复吧,https://gitee.com/baomidou/mybatis-plus/issues/I5RH1Z ,现在只能使用 QueryWrapper 或者降低 JDK 版本
superchijinpeng

superchijinpeng      1 小时 16 分钟前

不是绝对,我司包括底层大数据服务都升级到了 17
yeyang5211

yeyang5211      1 小时 12 分钟前

升级不加薪 , 不升级也不降薪. 升级平白加了工作,到点下班不香吗?
feelinglucky

feelinglucky      1 小时 10 分钟前   ❤️ 1

我说句不好听的,国内大部分 Java 开发人员可能脸 lambda 都写不明白
yazinnnn

yazinnnn      1 小时 8 分钟前

快进到为什么 java 后端不愿意学 kotlin
yifangtongxing28

yifangtongxing28      1 小时 7 分钟前

leader 的汇报 ppt 里,jdk8 到 jdk19 没任何意义
EIJAM

EIJAM      25 分钟前 via iPhone

Java 项目 ≈ 企业级。既然是企业级项目了,又不是自身兴趣好爱,那当然是稳定,能跑就行
Jooooooooo

Jooooooooo      23 分钟前

我们就是用新项目从 7 升到了 8.
fox0001

fox0001      几秒前 via Android

我们新项目用 17

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK