V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangyzj
V2EX  ›  Java

公司开始要用 Java , jdk 版本怎么选?

  •  1
     
  •   wangyzj · 205 天前 · 18249 次点击
    这是一个创建于 205 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前无 java 项目,全新建

    多谢各位老哥

    第 1 条附言  ·  205 天前
    我还寻思用 13
    没想到推荐用 11 的都少
    不过我还是打算用 11 吧
    177 条回复    2021-04-02 10:08:25 +08:00
    1  2  
    SonivelY
        101
    SonivelY   205 天前
    用啥 java ?用 go !
    keepcleargas
        102
    keepcleargas   205 天前
    8
    chinvo
        103
    chinvo   205 天前
    虽然我不用 Java, 但是我还是推荐当前 LTS
    8
        104
    8   205 天前   ❤️ 1
    吓我一跳
    8
        105
    8   205 天前
    8
    yanzhiling2001
        106
    yanzhiling2001   205 天前
    你可以看看 www.injdk.cn
    darrh00
        107
    darrh00   205 天前
    从头开始的当然用新不用旧,选 LTS 即可。
    dbpe
        108
    dbpe   205 天前
    @micean spring 更新到 16 了?我听人说 16 对反射限制更严格了...用反射的 GG 了
    dbpe
        109
    dbpe   205 天前
    @stardustree Kotlin 不就是 JAVA20 么..狗头保命
    copper20
        110
    copper20   205 天前
    jdk 8 和 jdk 11 是目前唯二的长期稳定版本
    jdk 8 支持时间比 jdk 11 长
    oracle jdk 8 免费; oracle jdk 11 商用收费,但可以用差别不大的 openjdk 11
    jdk 9 - 11 添加了一些小特性和糖

    个人偏向 jdk 8
    总体上看楼主喜好了
    xman99
        111
    xman99   205 天前
    全新 项目 11 挺好的, 不过我还是自学阶段
    joyhub2140
        112
    joyhub2140   205 天前
    目前还是推荐 8,但半年后必须 jdk 17 LTS,java 8 卷的已经不能再卷了。
    lonenol
        113
    lonenol   205 天前
    其实可以 16.。过半年升级到 17,也是 lts 。。
    稳妥的话就 11

    啥包袱没有,还用 8 就有点扯了
    leeyom
        114
    leeyom   205 天前
    没有历史包袱,就用 11,否则就 8
    wangsd
        115
    wangsd   205 天前   ❤️ 2
    11 吧,8 里面有一些包后来被移除了,现在用 8 你以后迁移到高版本上还要改一堆东西。
    micean
        116
    micean   205 天前
    @dbpe 用 maven 构建就行了,你说的是 jdk9 就有的反射访问限制吧,没啥影响
    itgoyo
        117
    itgoyo   205 天前
    8
    x940727
        118
    x940727   205 天前
    反正开新项目,直接 11 吧,只要 Spring 支持了最新的 JDK 就可以了,没必要用那种七八年不维护的依赖包
    FawkesV
        119
    FawkesV   205 天前
    我们用的 8
    515576745
        120
    515576745   205 天前 via Android
    8 or 11 vs code 里的 java 拓展需要 11 启用
    yangyaofei
        121
    yangyaofei   205 天前   ❤️ 5
    至少 11 吧,守着老古董有什么进步可言呢...还老说 35 被优化,自己有机会接触点新东西都不愿意还 bb(虽然 35 被优化的根本原因不在这儿)

    其实,jre 定成 11,直接不同项目之间用不同语言都无所谓吧,什么 k,s 都可以吧,还增加开发效率,该用的包都一样用.
    xuanbg
        122
    xuanbg   205 天前
    11 有 zgc,8 有免费的甲骨文原厂 jdk
    ztechstack
        123
    ztechstack   205 天前
    表示看 spring 支持。
    Wuxj
        124
    Wuxj   205 天前
    8 因为用 8 的面试官比用其他版本的面试官都多。。。
    Er1c0
        125
    Er1c0   205 天前
    8
    iseki
        126
    iseki   205 天前
    来用 Kotlin (啥东西不支持 Kotlin 就别用了(
    yeahvov
        127
    yeahvov   205 天前
    新项目 当然用新的
    TypeError
        128
    TypeError   205 天前
    就是因为 Java 都留在老版本不更新,所以我才讨厌 Java

    老版本 Java+xml,又臭又长
    linbingcheng
        129
    linbingcheng   205 天前
    8 呀,还用说
    ming7435
        130
    ming7435   205 天前
    再等等 17 吧
    securityCoding
        131
    securityCoding   205 天前
    @TypeError 现在很少写 xml
    beginor
        132
    beginor   205 天前 via Android
    JDK 版本无所谓, 关键是 kotlin !

    不管是源代码还是 gradle, 都用 kotlin 来写, 这才香!
    idamien
        133
    idamien   205 天前
    11 LTS
    nowto
        134
    nowto   205 天前
    公司招人吗?
    oy9r
        135
    oy9r   205 天前
    众所周知 8 > 11
    Takamine
        136
    Takamine   205 天前 via Android
    11 。
    julyclyde
        137
    julyclyde   205 天前
    据说 2021 下半年出新的 LTS
    所以我觉得可以从 16 开始过度到 17LTS
    yeziqing
        138
    yeziqing   205 天前
    先用 16,9 月份后换 17
    solos
        139
    solos   205 天前
    版本不重要,先跑起来,后面换 go
    ClericPy
        140
    ClericPy   205 天前
    进来扫一眼果然都是 8

    非 Java 用户表示 Manjaro 上给我滚到 16 了.......
    meteor957
        141
    meteor957   205 天前
    Kotlin
    EscYezi
        142
    EscYezi   205 天前 via iPhone
    还 8 呢,现在选 8 以后想升就难了
    fuxiuyin
        143
    fuxiuyin   205 天前 via iPhone
    要不来试下 .Net🐶
    johnsonshu
        144
    johnsonshu   205 天前
    Weblogic 的最新版本是 8 吧? 所以用 8 以上的稳定版?
    nutting
        145
    nutting   205 天前 via Android
    8
    lrvinye
        146
    lrvinye   205 天前 via iPhone
    新项目 11
    Senorsen
        147
    Senorsen   205 天前
    楼主你 13 是什么梗,建议看看 Java LTS 有哪些版本,13 早就停止维护了……
    sampeng
        148
    sampeng   205 天前 via iPhone
    全新 java 项目问就是 kotlin
    hotsymbol
        149
    hotsymbol   205 天前
    Java 6 差不多了。Java 8 都太新
    snuglove
        150
    snuglove   204 天前 via Android
    公司用的也是 8..
    msg7086
        151
    msg7086   204 天前
    公司刚刚从 7 艰难升到了 8,新项目全都用上崭新的 8 啦(手动狗头
    CooC
        152
    CooC   204 天前
    8
    mghio
        153
    mghio   204 天前
    11
    Rwing
        154
    Rwing   204 天前
    不如考虑一下 C# ?
    cslive
        155
    cslive   204 天前
    全新项目当然 11
    kingfalse
        156
    kingfalse   204 天前 via Android
    直接上 16 吧!年底 17 是 lts
    janda
        157
    janda   204 天前
    8 应该合适、lambda 太爽!后面的版本好像要收费、除非 openjdk
    ft7138
        158
    ft7138   204 天前
    目前来看,还是 8 的应用比较广泛
    wpf375516041
        159
    wpf375516041   204 天前
    十年老运维推荐阿里龙井 JDK 1.8 版本,解决了不少 jvm 的 bug,而且有 JFR,wisp2 等新特性,G1ElasticHeap 也可以吞吐量
    LokiSharp
        160
    LokiSharp   204 天前
    既然是新项目就最新的 LTS 吧
    blankmiss
        161
    blankmiss   204 天前
    8 吧
    jitongxi
        162
    jitongxi   204 天前
    1.8+ 无脑 koltin
    nicholasxuu
        163
    nicholasxuu   204 天前
    openjdk 11

    8 的话 docker 内不能跑,内存会爆。
    Huelse
        164
    Huelse   204 天前
    Ravenddd
        165
    Ravenddd   204 天前
    公司刚从混乱的历史包袱统一升级到 11, 不过年底就 17 来了
    FrancisZ
        166
    FrancisZ   204 天前
    openJdk 11
    danc
        167
    danc   204 天前
    Ξ ~ → java -version
    openjdk version "17-ea" 2021-09-14
    OpenJDK Runtime Environment (build 17-ea+15-1230)
    OpenJDK 64-Bit Server VM (build 17-ea+15-1230, mixed mode, sharing)
    danc
        168
    danc   204 天前
    直接 17 吧,等你项目差不多做好,17 就 stable 了
    idamien
        169
    idamien   204 天前
    @nicholasxuu 8 的话 docker 内不能跑,内存会爆 ?
    zepc007
        170
    zepc007   204 天前
    TA 发任 TA 发,仍然爪哇八
    legiorange
        171
    legiorange   204 天前 via Android
    直接用 16 。新特性。
    Greatshu
        172
    Greatshu   204 天前
    https://img.maocdn.cn/img/2021/03/31/-2021-03-31-172910.png
    毫无疑问,8 的扩展支持时间比 11 还长
    peihuan
        173
    peihuan   204 天前
    kotlin
    ENNRIaaa
        174
    ENNRIaaa   204 天前
    不是 8,就是 11,还是用 8 的多
    byte10
        175
    byte10   203 天前
    @joyhub2140 为啥要上 jdk 17 ?是协程出来了吗?
    nicholasxuu
        176
    nicholasxuu   203 天前
    @idamien 老 java 读内存会读机器内存的参数,而不是 docker/k8s 给 container/pod 的内存限制。
    比如在 8 核 32G 的服务器里,给一个小 java 服务用的 container/pod 设定 1 核 2G 的限制,java 会认为自己有 16G 内存可以用,然后把 2G 的限制给撑爆。
    8 只能手动设定各种 jvm 内存限制才行。11 开始可以正确的读 container/pod 的内存了。
    Evilk
        177
    Evilk   202 天前
    为什么不用 PHP?
    1  2  
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1440 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:26 · PVG 01:26 · LAX 10:26 · JFK 13:26
    ♥ Do have faith in what you're doing.