downstairs
V2EX  ›  Java

Java16 都快出了,你们还在用 Java8 ?

  •  
  •   downstairs · Feb 3, 2021 · 20589 views
    This topic created in 2102 days ago, the information mentioned may be changed or developed.

    能告诉我为什么吗??? 是什么限制了你使用更新版本的技术? 新版本肯定要优于老版本啊,不论是从结构性能还是设计上。

    147 replies  •  2021-03-16 12:58:29 +08:00
    1  2  
    ❮ ❯
    yumenawei
    yumenawei
    Feb 3, 2021❤️8
    1
    有啥明显的收益吗?
    系统运行的好好的,万一该出了问题呢。
    secretman
    secretman
    Feb 3, 2021
    2
    新版本出问题的时候你要么回退旧版本(损失很大),要么等修复
    我开发安卓,一开始经常喜欢引用最新 android 官方的组件,但是经常被坑,不兼容啦,bug 啦,多了去了,反而是老版本稳当。
    PonysDad
    PonysDad
    Feb 3, 2021 via iPhone❤️2
    3
    能不加戏就不加戏
    sagaxu
    sagaxu
    Feb 3, 2021 via Android
    4
    从哪看出来大家都在用 8 ?我们只有 11 和 15
    rainboat
    rainboat
    Feb 3, 2021
    5
    话说 java8 之后的版本商用都要收费了吧
    waising
    waising
    Feb 3, 2021
    6
    去年才把公司的 7 升级到 8 。。。11 公司想都不敢想 一堆祖传项目
    xupefei
    xupefei
    Feb 3, 2021 via iPhone
    7
    升级之后发现问题,你来 24x7 oncall ?
    kassadin
    kassadin
    Feb 3, 2021
    8
    除了语法糖的更新,内部的改动着实存在感不强
    另一方面也说明兼容性做的好,悄么么升上去啥也没发生
    AndyAO
    AndyAO
    Feb 3, 2021❤️2
    9
    软件是很脆弱的东西
    不动的时候还经常有问题
    不要说动了

    尤其是代码非常多,关系非常复杂的时候
    chendy
    chendy
    Feb 3, 2021❤️1
    10
    多一事不如少一事,java8 跑的好好的何必去动
    升级 java 版本有的库要跟着升,有的库升了代码要跟着改
    小项目无所谓,大项目升级个 java 版本的工作量大到没人愿意动,而且还要承担风险
    顺便一说 j8 的支持到 2026 年,相信那个时候大家已经用上了 loom 和 value class 啥的
    再顺便一说非 LTS 版本不要用
    再再顺便一说,不用是不用,了解一下新特性还是挺好的
    vicalloy
    vicalloy
    Feb 3, 2021
    11
    之前我还一直认为 JAVA 的兼容性做的很好,版本升级肯定没问题。
    哪知道 JAVA8 之后的版本 rt.jar 没有了。
    limuyan44
    limuyan44
    Feb 3, 2021❤️18
    12
    戏多,禁止 windows 更新的时候你们可不是这么说的。
    iyaozhen
    iyaozhen
    Feb 3, 2021
    13
    我们发布打出的 jar 有 1G 多 来来来,你升一个
    felixcode
    felixcode
    PRO
    Feb 3, 2021
    14
    知道为什么有些人看不上 python, go, rust 了吧
    java 是可以用来养老的,一个版本用 20 年
    ijrou
    ijrou
    Feb 3, 2021
    15
    在用 11.。。
    wdytoya
    wdytoya
    Feb 3, 2021
    16
    了解新特性可以,但不是 LTS 不建议升,出问题都不知道怎么死的。当然你如果是个人开发随便你折腾
    cz5424
    cz5424
    Feb 3, 2021 via iPhone
    17
    见过祖传项目 java7
    billlee
    billlee
    Feb 3, 2021
    18
    框架不升我也没办法
    moqimoqide
    moqimoqide
    Feb 3, 2021
    19
    技术新闻和技术会议等地方,传播的都是行业的前瞻性观点,这些声音过于响亮,得到了最大的权重。

    但是,请不要忘记,世界仍然运行在 Excel 、Java 8 和 Sharepoint 上面。

    This piece of the puzzle is the one that worries me the most. What I’m worried about is that places like Hacker News, r/programming, the tech press, and conferences expose us to a number of tech-forward biases about our industry that are overenthusiastic about the promises of new technology without talking about tradeoffs. That the loudest voices get the most credibility, and, that, as a result, we are listening to complicated set-ups and overengineering systems of distributed networking and queues and serverless and microservices and machine learning platforms that our companies don’t need, and that most other developers that pick up our work can’t relate to, or can even work with.

    I’ve spoken and written about it at length, but, most times, easier is best.

    And, if the tech is, in fact old and outdated, and the tradeoff from replacing it is lower than the tradeoff of keeping it, we shouldn’t be jumping to replace it with the latest and greatest. While we should evaluate new tools evenhandedly, most times, Postgres works just fine.

    For better or worse, the world l runs on Excel, Java 8, and Sharepoint, and I think it’s important for us as technology professionals to remember and be empathetic of that.

    From IT runs on Java 8: https://veekaybee.github.io/2019/05/10/java8/
    TypeError
    TypeError
    Feb 3, 2021 via Android
    20
    还是等下一个 lts 再用 Java 吧,
    var + zgc + loom + graalvm 看起来挺有意思,

    最讨厌老 Java 代码一堆 XML
    cloudyplain
    cloudyplain
    Feb 3, 2021
    21
    无非是踩坑问题,jdk8 出问题大概率已经修复或者有现成的答案,不然可能需要去翻源码或者紧跟社区的 issue,成本还是比较高的。
    jfr events api 、新的 gc ( zgc 、shenandoah )、loom 都是升级的动力。
    BBCCBB
    BBCCBB
    Feb 3, 2021
    22
    @TypeError 这 loom 鬼知道啥时候出?
    hejingyuan199
    hejingyuan199
    Feb 3, 2021
    23
    可是老板没有付钱让我学习新的版本。。。狗头
    sagaxu
    sagaxu
    Feb 3, 2021 via Android
    24
    @moqimoqide 2020 年 2 月份 Java 11 已经 25%了,今年 2 月肯定超 1/3 了,明年 2 月可能超 Java 8 了,技术换代没那么快,但也不会停滞不前。
    seanxx
    seanxx
    Feb 3, 2021❤️3
    25
    是什么原因让你问出这个问题,基于还没有工作的疑惑?
    什么版本的 java, 真正的商业项目中,v2 百分之 95 的人都决定不了
    young1lin
    young1lin
    Feb 3, 2021
    26
    你确定需要用到那些 Features 吗?你升级任你升级,我还是 8 打天下 [doge]
    industryhive
    industryhive
    Feb 3, 2021
    27
    @BBCCBB 幸运的话,今年的 17 版本就能看到
    PDX
    PDX
    Feb 3, 2021
    28
    真的想知道升级的话会出现什么问题。
    wolong
    wolong
    Feb 3, 2021
    29
    够用就行,新版本未必比老版本好。
    watzds
    watzds
    Feb 3, 2021 via Android
    30
    Java7 不能用吗
    yeziqing
    yeziqing
    Feb 3, 2021
    31
    在用 11 和 14
    inframe
    inframe
    Feb 3, 2021
    32
    企业项目稳定压倒一切,
    早点下班不好吗
    出问题谁负责,手动滑稽
    tiancaixiaoshuai
    tiancaixiaoshuai
    Feb 4, 2021
    33
    if it ain't broke, don't fix it
    初中的时候听到这句,现在越来越觉得是至理名言
    Jooooooooo
    Jooooooooo
    Feb 4, 2021
    34
    "新版本肯定要优于老版本啊"

    当然不是, 旧的东西跑的好好的, 无缘无故是升级带来的不稳定能仔细评估才能升级.

    (可以找个大公司核心团队呆呆就能体会到了
    coolesting
    coolesting
    Feb 4, 2021❤️1
    35
    用 jdk8 跑 kotlin,你会发现远超 java16,我保证。
    kingfalse
    kingfalse
    Feb 4, 2021 via Android
    36
    怎么说呢,这事吧,就好比一个暴躁老哥对你说,“你动我一下试试”
    kingfalse
    kingfalse
    Feb 4, 2021 via Android
    37
    不怕挨揍你就动
    NVDA
    NVDA
    Feb 4, 2021 via iPhone
    38
    aws lambda 默认 java11 是我第一次接触 8 以上的版本
    tsui
    tsui
    Feb 4, 2021
    39
    新版本肯定要优于老版本啊,不论是从结构性能还是设计上。

    刚毕业?
    memedahui
    memedahui
    Feb 4, 2021
    40
    Java 发行版 发行日期
    Java 8 Update 281 CPU 2021 年 1 月 19 日
    sunziren
    sunziren
    Feb 4, 2021
    41
    6
    xyooyx
    xyooyx
    Feb 4, 2021❤️1
    42
    我猜你工作没多久一定,或者还没接触工作
    bcxtm
    bcxtm
    Feb 4, 2021❤️1
    43
    你发任你发,我用 Java8 。
    zm8m93Q1e5otOC69
    zm8m93Q1e5otOC69
    Feb 4, 2021
    44
    Java8 哪里不能满足你了吗?
    你的业务必须要用高版本的特性吗?
    dbpe
    dbpe
    Feb 4, 2021
    45
    loom 出了..我就力荐上这个
    jzmws
    jzmws
    Feb 4, 2021
    46
    坚持使用 jdk 1.8 一百年不动摇! 更新 jdk 代价太高了 ,为此引起的系统不稳定风险没人肯承担
    dbpe
    dbpe
    Feb 4, 2021
    47
    (为什么不上..其实大部分人懒得升级而已(历史债,大量用了一些废弃的接口和类,然后这些弄起来很头疼
    idoggy
    idoggy
    Feb 4, 2021 via Android
    49
    银行系统用的上世纪的 cobol,也没见你不去存取啊
    BBCCBB
    BBCCBB
    Feb 4, 2021
    50
    @industryhive 兄弟哪里看到的? 我们现在是 11, 如果没有 loom 出来, 估计就真的没动力升级了.. 🐶
    bthulu
    bthulu
    Feb 4, 2021
    51
    @vicalloy 难道你不是直接调用 rt.jar 里的类, 而是自己读取 rt.jar 文件自己加载?
    felixcode
    felixcode
    PRO
    Feb 4, 2021 via Android
    52
    所谓企业级稳定就是 CentOS 6/7 + Java 6/7/8
    TomatoCLI
    TomatoCLI
    Feb 4, 2021
    53
    java8?什么时候出的? 想起我之前那个银行还在用 java6
    MaxLi77
    MaxLi77
    Feb 4, 2021
    54
    16 很吊吗?你去和谷歌说啊,你问问 Android 用的 Java 几?
    vicalloy
    vicalloy
    Feb 4, 2021
    55
    @bthulu 一些用到 rt.jar 的第三方库会有影响。
    sagaxu
    sagaxu
    Feb 4, 2021 via Android
    56
    @dbpe 不是懒,而是老系统真没法动,几个人花几个月升级,最后大概率以失败告终。现在还有一些 1.4 和 1.6 的系统在跑着,升级到 1.8 都不太可能。老系统全靠业务倒闭下线。
    mercurius
    mercurius
    Feb 4, 2021
    57
    我怀疑你在钓鱼
    hpeng
    hpeng
    Feb 4, 2021 via iPhone
    58
    又不是不能用
    NotFoundEgg
    NotFoundEgg
    Feb 4, 2021
    59
    Java 8 躺枪

    Java 8 后面就 11 是 LTS,再之后就是 16,看着版本号吓人而已
    pavelpiero
    pavelpiero
    Feb 4, 2021
    60
    严重你们公司是不是就一个系统,而且还是用的最新版本的 springboot 。
    历史遗留问题我司还有 java6 的项目,主流还有 java7 的,新系统才是 java8 的。
    传统行业留下了羡慕的泪水,java7 升级 java8 的坑才刚刚踩完,一步就到 16 了,可能这就是互联网吧。
    dbpe
    dbpe
    Feb 4, 2021
    61
    @pavelpiero 都有什么坑啊,好奇..我记得 7 到 8,没什么改动吧...(我们当时还是比较顺利)
    cheng6563
    cheng6563
    Feb 4, 2021
    62
    LTS 版本又没升几个
    CismonX
    CismonX
    Feb 4, 2021
    63
    除非有非常大的收益(比如大幅度的性能提升,或者不得不用的新特性),不然生产环境是不会轻易更新大版本的,越大规模的公司在这方面就会越保守。虽然更新以后不一定会出问题,但不能证明不存在风险,那我为什么要去承担这样的风险,给自己挖坑?

    当然个人项目中,还是愿意去学习和尝试新的特性的。
    Cbdy
    Cbdy
    Feb 4, 2021 via Android❤️1
    64
    Java8 和 Java11 混用,不过这种比较细节了,做服务端的蠢人太多,特别是 Java
    为了不和这帮人打交道,我大多数时间在做前端了
    事实是,大多数领导是服务端出身的,所以通常对前端一知半解,但又意识到现代前端和以前朴素的 HTML 、CSS 、JS 有了巨大的变化。所以留给一线前端开发者发挥的余地很大,而且前端毕竟离核心数据比较远,大多数时候用啥技术方案都可以说服领导,还不用 on call
    所以想要使用 Java11+、远离坚守在 Java6 、7 、8 古怪队友,可以转前端,自己业余项目用用 Java 即可
    pavelpiero
    pavelpiero
    Feb 4, 2021
    65
    @dbpe 老项目了用的 spring3.* 升级 1.8 之后应用本地开发和测试都没出过问题,但是放到生产环境久了就经常莫名死掉。后来多方排查升级了 spring 版本才解决了这个问题,深究原因可以追溯到 spring 对并发容器的使用那里。
    passerbytiny
    passerbytiny
    Feb 4, 2021 via Android
    66
    第一,从 Java8 到 Java11,在 API 层面几乎没有变动,所以除了性能考虑外没有升级的动力。

    第二,自 Java9 开始,Java 在变成滚动更新的同时,抛弃了向后兼容性。没有向后兼容性,不做全量测试没人敢升级,而全量测试基本没人愿意做。
    jason19659
    jason19659
    Feb 4, 2021
    67
    8 的下一个 LTS 版本是 11,也是最新的 LTS,你是不是对升级有什么误解??
    alexgor
    alexgor
    Feb 4, 2021
    68
    肯定不会啊,7 不好吗?
    jitongxi
    jitongxi
    Feb 4, 2021
    69
    爷直接 kotlin 不香?你 java20 出来怕都是打不过
    muyiluop
    muyiluop
    Feb 4, 2021❤️1
    70
    17 出来后,新项目打算全用 17
    charlie21
    charlie21
    Feb 4, 2021
    71
    JDK 8 升级 16 等于升级轮胎
    JAVA 变 Kotlin 等于圆轮胎变方轮胎
    一本正经讨论什么 by V2EX 的工人爷爷们今天又喝醉了
    项目质量需要靠测试来保证 做到什么程度的测试是另一回事,做不做测试都是另一回事,难道你不做测试同时用了老版本 JDK 8 就高枕无忧了吗怎么可能。测试 风险 JDK 版本,本是风马牛不相及的 就爱拧在一起讲,自己项目测试不到位就责怪 JDK 高版本带来了风险,工人爷爷逻辑大师们就是如此真性情
    duanxianze
    duanxianze
    Feb 4, 2021
    72
    能加薪吗?出了事你负责吗?
    zoyua
    zoyua
    Feb 4, 2021
    73
    因为目前只有 8 和 11 是 LTS 吧
    CBS
    CBS
    Feb 4, 2021
    74
    AS 内置的 OPENJDK
    jjianwen68
    jjianwen68
    Feb 4, 2021
    75
    到时候直接升级使用 jdk17,中间版本就不考虑了
    bbao
    bbao
    Feb 4, 2021
    76
    9~11 的特性面试的时候都背熟悉了吗?
    arvinsilm
    arvinsilm
    Feb 4, 2021
    77
    如无必要,勿增实体
    lancelock
    lancelock
    Feb 4, 2021
    78
    刚刚翻了一遍 8 到 16 的新增特性,硬是没发现啥很重大的更新,现在版本号刷的勤快而已
    securityCoding
    securityCoding
    Feb 4, 2021
    79
    @iyaozhen 有很多前端代码在里面?如果纯后端 1g 就有点恐怖了
    Phariel
    Phariel
    Feb 4, 2021
    80
    楼主你是故意的?如果这真是你真实想法 那我想说 你先在这一行被毒打几年再来说这个话题吧。。。
    yyfbbb
    yyfbbb
    Feb 4, 2021
    81
    我觉得吧,这波,是楼主在骗回复
    zhouquanbest
    zhouquanbest
    Feb 4, 2021
    82
    你让我们 Android 怎么办 不升级到 AGP4.0 连完整 Java8 都没有
    所以直接 Kotlin 吧
    pangleon
    pangleon
    Feb 4, 2021
    83
    显卡都出到多少了,你用上了么?
    qiumaoyuan
    qiumaoyuan
    Feb 4, 2021
    84
    一句话回答:因为这帮人不写测试
    duan602728596
    duan602728596
    Feb 4, 2021
    85
    因为缺少一个像 babel 那样的工具
    xxy973211
    xxy973211
    Feb 4, 2021
    86
    @waising 话语中透露着金融项目的气息
    u0mo5
    u0mo5
    Feb 4, 2021
    87
    有个词叫技术债务,
    新项目新公司,你愿意用啥都没人管你,
    大公司,大项目,多项目,考虑的不是新特性,优先考虑的是稳定性,平衡性,兼容性,安全性,可持久,可维护......
    理想的技术环境,受现实制约的问题
    whywhywhy
    whywhywhy
    Feb 4, 2021
    88
    有没有胆量把公司的项目都用新版本重构呢。。。
    msg7086
    msg7086
    Feb 4, 2021
    89
    我司还在用 7,之前我们组打算升 8,结果要死要活的,服务器上跑不起来。
    nebu1a
    nebu1a
    Feb 4, 2021
    90
    因为要求稳。公司如果有十几个项目,升级可能会引发蝴蝶效应,得不偿失。
    industryhive
    industryhive
    Feb 4, 2021
    91
    @BBCCBB 在知乎上看到有人这么说,而且现在 loom 项目已经可以用了,就是不知道今年的 17 能不能上。不过相比于 project loom,我更在意 project valhala,能用上自定义值类型和真正的泛型,对性能有很大的提升,但是距离 valhala 正式发布可能还很远,17 是等不到了,估计要到 23 。
    CodeBase
    CodeBase
    Feb 4, 2021
    92
    有啥用,大家都用 8 的话,他升 80 又咋地
    yamasa
    yamasa
    Feb 4, 2021
    93
    又不是 lts 你说个屁呢,工作几年了?无脑上 16 生产环境出问题你敢一个人拍胸脯吗?
    msaionyc
    msaionyc
    Feb 4, 2021 via Android
    94
    lz 隔这钓鱼呢,没必要回了
    hantsy
    hantsy
    Feb 4, 2021
    95
    @sagaxu 你又在吹。。。上次你说还在用 8 。
    hantsy
    hantsy
    Feb 4, 2021
    96
    @sagaxu 我觉得升级简单的很,不升级只有一个原因,懒。

    IDEA 和 NetBeans IDE 的 Inspect 功能直接可以替换语法,已经试用全局替换一个项目语法,而且基本没有出错(有的稍微调整一下),CI 上之前本来就一直在加了一个最新 Java 运行测试(保证语法上兼容)。
    sonxzjw
    sonxzjw
    Feb 4, 2021
    97
    你们都用 16 、8,我还是 1.8 呢,差了 n 倍
    meteor957
    meteor957
    Feb 4, 2021
    98
    kotlin 确实更香 谁还关心 java 的版本
    sagaxu
    sagaxu
    Feb 4, 2021 via Android
    99
    @hantsy 语法只用到 8,JVM 用上 11 和 15 了,新增代码都是 Kotlin 无所谓 Java 版本。

    有几个我接手过的老项目,没有需求文档,没有单元测试,连项目有哪些功能都没人说得清,代码库里的代码跟实际部署的对应不上,升级就是玩火啊,幸运的是业务下线废弃不用了
    taylorzhi
    taylorzhi
    Feb 4, 2021
    100
    手机电脑是出一个就换一个吗
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1643 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 166ms · UTC 04:48 · PVG 12:48 · LAX 20:48 · JFK 23:48
    ♥ Do have faith in what you're doing.