wangyzj
V2EX  ›  Java

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

  •  1
     
  •   wangyzj · Mar 30, 2021 · 28955 views
    This topic created in 2050 days ago, the information mentioned may be changed or developed.

    以前无 java 项目,全新建

    多谢各位老哥

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

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

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

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

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

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

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

    8 的话 docker 内不能跑,内存会爆。
    Ravenddd
    Ravenddd
    Mar 31, 2021
    165
    公司刚从混乱的历史包袱统一升级到 11, 不过年底就 17 来了
    FrancisZ
    FrancisZ
    Mar 31, 2021
    166
    openJdk 11
    danc
    danc
    Mar 31, 2021
    167
    Ξ ~ → 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
    danc
    Mar 31, 2021
    168
    直接 17 吧,等你项目差不多做好,17 就 stable 了
    idamien
    idamien
    Mar 31, 2021
    169
    @nicholasxuu 8 的话 docker 内不能跑,内存会爆 ?
    zepc007
    zepc007
    Mar 31, 2021
    170
    TA 发任 TA 发,仍然爪哇八
    legiorange
    legiorange
    Mar 31, 2021 via Android
    171
    直接用 16 。新特性。
    Greatshu
    Greatshu
    Mar 31, 2021
    172
    https://img.maocdn.cn/img/2021/03/31/-2021-03-31-172910.png
    毫无疑问,8 的扩展支持时间比 11 还长
    peihuan
    peihuan
    Mar 31, 2021
    173
    kotlin
    ENNRIaaa
    ENNRIaaa
    Mar 31, 2021
    174
    不是 8,就是 11,还是用 8 的多
    byte10
    byte10
    Apr 1, 2021
    175
    @joyhub2140 为啥要上 jdk 17 ?是协程出来了吗?
    nicholasxuu
    nicholasxuu
    Apr 1, 2021
    176
    @idamien 老 java 读内存会读机器内存的参数,而不是 docker/k8s 给 container/pod 的内存限制。
    比如在 8 核 32G 的服务器里,给一个小 java 服务用的 container/pod 设定 1 核 2G 的限制,java 会认为自己有 16G 内存可以用,然后把 2G 的限制给撑爆。
    8 只能手动设定各种 jvm 内存限制才行。11 开始可以正确的读 container/pod 的内存了。
    Evilk
    Evilk
    Apr 2, 2021
    177
    为什么不用 PHP?
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4159 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 193ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
    ♥ Do have faith in what you're doing.