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

JDK16 要出来了 想问问大家公司都用的啥?

  •  
  •   Tuy · 2021-01-07 15:56:16 +08:00 · 8964 次点击
    这是一个创建于 1418 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常面试也被问到过 JDK 各个版本的区别 但是用的最多的还是 8,其他版本就 9 、10 有点了解 后面都不清楚了 想知道现在互联网公司 JDK 用的都是多少?

    100 条回复    2021-01-11 10:11:13 +08:00
    cvbnt
        1
    cvbnt  
       2021-01-07 16:01:24 +08:00 via Android
    8
    hantsy
        2
    hantsy  
       2021-01-07 16:02:00 +08:00
    15, 11
    zhoulouzi
        3
    zhoulouzi  
       2021-01-07 16:02:02 +08:00
    2 8 16
    chendy
        4
    chendy  
       2021-01-07 16:09:17 +08:00
    装着 11
    source 和 target 设成 8
    echo1937
        5
    echo1937  
       2021-01-07 16:12:49 +08:00
    8 、11 、15
    FanError
        6
    FanError  
       2021-01-07 16:13:07 +08:00
    8
    x537196
        7
    x537196  
       2021-01-07 16:16:50 +08:00
    JDK16/2
    cco
        8
    cco  
       2021-01-07 16:17:11 +08:00
    8
    MinQ
        9
    MinQ  
       2021-01-07 16:19:11 +08:00
    openJDK 8
    xuanbg
        10
    xuanbg  
       2021-01-07 16:22:20 +08:00
    8
    sadfQED2
        11
    sadfQED2  
       2021-01-07 16:32:14 +08:00 via Android
    工作用的 8

    面试被问的还是 6
    sodadev
        12
    sodadev  
       2021-01-07 16:33:42 +08:00 via Android
    日经
    AEDaydreamer
        13
    AEDaydreamer  
       2021-01-07 17:24:14 +08:00
    8,11 共存,项目用 8
    stephen728
        14
    stephen728  
       2021-01-07 17:25:44 +08:00
    公司最新的框架还是 8,但是电脑里装了 11 自己玩
    ericwood067
        15
    ericwood067  
       2021-01-07 17:29:06 +08:00
    非 Java 开发,打听一下你们在 linux 、unix 系统下用的是 OpenJDK 还是 Oracle 家的 JDK,选择的理由是什么?
    wvitas
        16
    wvitas  
       2021-01-07 17:53:54 +08:00
    8
    guoyancheng1022
        17
    guoyancheng1022  
       2021-01-07 17:54:42 +08:00
    8
    WispZhan
        18
    WispZhan  
       2021-01-07 18:08:49 +08:00
    Kotlin 编译目标 8 、11
    avalon0624
        19
    avalon0624  
       2021-01-07 18:09:25 +08:00
    大部分 8,有一个 1.5 。
    kingfalse
        20
    kingfalse  
       2021-01-07 18:10:06 +08:00
    我司 8 主流,11 有部分
    插个楼,下载王八壳子 jdk 的可以看看这里:
    https://www.kagura.me/dev/20200424112618.html
    songco
        21
    songco  
       2021-01-07 18:12:27 +08:00 via iPhone
    一个老项目用的 8

    另一个用的 14,有新的 lts 应该会升级
    hantsy
        22
    hantsy  
       2021-01-07 18:14:04 +08:00
    @Tuy 3 月 6 号 GA,早得很。

    不过 16 没有太大语言新特性。

    1,新的 Vector API 。
    2 。Record 进入稳定状态( release )
    3 。Pattern Matching InstanceOf 进入稳定状态( release )
    4 。 第二个预览 Sealed ( non-sealed 是争议最大一个关键字),https://openjdk.java.net/jeps/397 Preview 2 加入 Pattern matching ( Switch )支持,终于和 Scala 有一比了
    Mithril
        23
    Mithril  
       2021-01-07 18:14:59 +08:00
    @ericwood067 Adaopted 或者 Zulu,主要还是 License 的问题。
    BBCCBB
        24
    BBCCBB  
       2021-01-07 18:16:15 +08:00
    project loom 不出来就没动力升级...
    hantsy
        25
    hantsy  
       2021-01-07 18:16:18 +08:00
    @kingfalse 早就用 AdoptOpenJDK 了。

    另外你完全可以上 OpenJDK.java.net 上下载最新版本,8 以前 Oracle 不提供 Bin 下载,现在都有了,这是 Oracle 的非商业版本。
    hantsy
        26
    hantsy  
       2021-01-07 18:21:35 +08:00
    就 Sealed 支持 Switch 这一条,16 还是值得期待。
    wangyanrui
        27
    wangyanrui  
       2021-01-07 18:52:09 +08:00 via Android
    8 、11
    Oracle 官网下载的时候需要登录,懒,所以每次都是 brew install openjdk
    40EaE5uJO3Xt1VVa
        28
    40EaE5uJO3Xt1VVa  
       2021-01-07 18:58:17 +08:00
    www.injdk.cn 路过看看,我自己常用 11,看 17 都要出来了
    AoEiuV020
        29
    AoEiuV020  
       2021-01-07 19:05:47 +08:00
    安卓开发表示 java8 都只用了少数几个特性,
    boris93
        30
    boris93  
       2021-01-07 19:13:26 +08:00 via Android
    8,秋天准备上 17
    Annoke
        31
    Annoke  
       2021-01-07 19:15:40 +08:00
    8
    afewok
        32
    afewok  
       2021-01-07 19:17:32 +08:00
    有些面试问题。。。。还不如直接问红黑树
    hantsy
        33
    hantsy  
       2021-01-07 19:23:30 +08:00
    @AoEiuV020 写安卓不是都用 Kotlin 了吗?
    bash
        34
    bash  
       2021-01-07 21:42:29 +08:00
    j8
    xeathen
        35
    xeathen  
       2021-01-07 22:08:22 +08:00   ❤️ 2
    15,公司主架构师太牛太奔放了。。
    mghio
        36
    mghio  
       2021-01-07 22:29:12 +08:00
    11
    hotsymbol
        37
    hotsymbol  
       2021-01-07 23:04:26 +08:00
    6
    hyqCrystal
        38
    hyqCrystal  
       2021-01-07 23:05:12 +08:00
    8
    leafre
        39
    leafre  
       2021-01-07 23:10:42 +08:00 via Android
    8
    cabing
        40
    cabing  
       2021-01-07 23:13:37 +08:00
    8
    freebird1994
        41
    freebird1994  
       2021-01-07 23:16:42 +08:00 via Android
    自己玩用 15
    superBearL
        42
    superBearL  
       2021-01-07 23:20:06 +08:00
    8
    zepc007
        43
    zepc007  
       2021-01-07 23:36:12 +08:00
    他发认任他发,我用贾娃八
    dbpe
        44
    dbpe  
       2021-01-08 08:52:24 +08:00
    等 loom....
    loom 一出....java8 已死
    cco
        45
    cco  
       2021-01-08 09:03:35 +08:00   ❤️ 1
    @xeathen 我喜欢这种架构师。。。。
    lihuoqingfly
        46
    lihuoqingfly  
       2021-01-08 09:42:12 +08:00
    8
    pengW
        47
    pengW  
       2021-01-08 09:43:05 +08:00 via Android
    8 非技术,吐槽一下,java 内存回收做的跟 shit 一样
    Nich0la5
        48
    Nich0la5  
       2021-01-08 09:50:08 +08:00
    @ericwood067 openjdk 因为公司产品是 openjdk
    ychost
        49
    ychost  
       2021-01-08 10:08:44 +08:00
    6,7,8
    avv
        50
    avv  
       2021-01-08 10:17:13 +08:00
    J8
    ixiaohei
        51
    ixiaohei  
       2021-01-08 10:52:05 +08:00
    @pengW jvm 的内存回收虽然 shit 一样,但其他带 runtime 的语言 gc 一个能打的也没有;
    karott7
        52
    karott7  
       2021-01-08 11:27:53 +08:00
    公司用 8,个人电脑装 11 玩
    jjianwen68
        53
    jjianwen68  
       2021-01-08 11:32:00 +08:00
    等 11 lts 出来直接转用 17 吧,11 就没必要了
    dremy
        54
    dremy  
       2021-01-08 11:32:52 +08:00 via iPhone
    6
    LYaoYao
        55
    LYaoYao  
       2021-01-08 11:33:09 +08:00
    8
    Yorkzhu
        56
    Yorkzhu  
       2021-01-08 11:33:27 +08:00 via Android
    1.6
    momocraft
        57
    momocraft  
       2021-01-08 11:35:09 +08:00
    scala3 jdk11
    momocraft
        58
    momocraft  
       2021-01-08 11:35:25 +08:00
    #57 应为 scala2 / jdk11
    yamasa
        59
    yamasa  
       2021-01-08 12:03:45 +08:00
    @pengW 有意思,喷 Java 语言的多,喷 jvm 的还真少,因为其他的 gc vm 更是 fw,麻烦你发表下高见?
    hantsy
        60
    hantsy  
       2021-01-08 12:10:25 +08:00
    @xeathen 用 Docker Image 部署,你完全可以跟进最新版本。
    hantsy
        61
    hantsy  
       2021-01-08 12:13:44 +08:00
    用 1.6,我实在想不出来,流行的工具哪个还可以兼容 1.6 。现在一些工具库,8 都是起步,像 Spring,Hibernate,Jackson 虽然 8 起步,但这些一直在跟进新语言特性,比如 record 等。
    AoEiuV020
        62
    AoEiuV020  
       2021-01-08 12:15:41 +08:00
    @hantsy 创业团队怎么选择不知道,但是 kotlin 被谷歌指定前就存在的公司和项目应该没有太多会特地换 kotlin, 至少我这没有,
    pkwenda
        63
    pkwenda  
       2021-01-08 12:21:01 +08:00
    We use JDK8
    reed2020
        64
    reed2020  
       2021-01-08 12:54:21 +08:00
    @ericwood067 开发用 AdoptOpenJDK,线上用 AdoptOpenJDK 。
    holulu
        65
    holulu  
       2021-01-08 13:02:07 +08:00
    8
    zoharSoul
        66
    zoharSoul  
       2021-01-08 13:11:08 +08:00
    @hantsy #33 是的, 基本已经全切 kotlin 了.
    shaoyijiong
        67
    shaoyijiong  
       2021-01-08 13:13:55 +08:00
    老项目用 8 新的项目用 11
    cominghome
        68
    cominghome  
       2021-01-08 13:15:46 +08:00
    万年 8
    e583409
        69
    e583409  
       2021-01-08 13:40:58 +08:00
    8
    BeFun
        70
    BeFun  
       2021-01-08 14:09:06 +08:00
    万年 8
    JinTianYi456
        71
    JinTianYi456  
       2021-01-08 14:31:29 +08:00
    @kingfalse #20 王八壳子 啥意思
    LittleYangYang
        72
    LittleYangYang  
       2021-01-08 14:35:21 +08:00
    @JinTianYi456 #71 Oracle 中文名
    lewis89
        73
    lewis89  
       2021-01-08 14:40:46 +08:00
    @ixiaohei #51 ..都在骂 GC 是 shit,各位自己写的代码里面(不包括第三方依赖 以及第三方依赖创建的)真的有代码中的对象能活到老年代..?
    ksssdh123
        74
    ksssdh123  
       2021-01-08 14:55:59 +08:00
    腰斩版
    zzzmh
        75
    zzzmh  
       2021-01-08 14:57:53 +08:00
    8 用到退休
    cway
        76
    cway  
       2021-01-08 15:06:51 +08:00
    CrazyBoyFeng
        77
    CrazyBoyFeng  
       2021-01-08 15:07:47 +08:00
    之前写 android 发现不兼容 java11 。而且有时我会写点 javafx,这需要考虑用户 jre 环境,目前 java 官网默认开始推广下载 java8,那么我也就只好日常使用 java8 了。
    huntcool001
        78
    huntcool001  
       2021-01-08 16:05:02 +08:00
    @lewis89 本地缓存啊, 为啥不行. 用个 static 的 ConcurrentHashMap 或者 LinkedHashMap 做 LRU, 或者 Guava/Caffein 之类更好的第三方的缓存库.
    lewis89
        79
    lewis89  
       2021-01-08 16:06:36 +08:00
    @huntcool001 #78 额 没听说过.. 一般都是 Redis 没必要用本地缓存.. 而且 Redis 上集群 比本地可靠多了
    kylix
        80
    kylix  
       2021-01-08 16:56:35 +08:00
    都 16 了呀,我们 1.6 都有在用
    Nuttertoo1s
        81
    Nuttertoo1s  
       2021-01-08 16:57:26 +08:00
    8
    easymbol
        82
    easymbol  
       2021-01-08 16:59:24 +08:00
    11
    linvaux
        83
    linvaux  
       2021-01-08 17:03:19 +08:00 via iPhone
    JDK16/2
    php8
        84
    php8  
       2021-01-08 17:05:30 +08:00 via Android
    @lewis89 redis 每次读写 0.5ms 到 1ms 延迟,有时用进程内缓存更合适
    youla
        85
    youla  
       2021-01-08 17:06:27 +08:00
    下个玩玩~·
    lewis89
        86
    lewis89  
       2021-01-08 17:08:24 +08:00
    @php8 #84 那是数据量小的情况,数据量 综合可靠性 可扩展性 肯定是 redis 比 本地内存靠谱,而且多实例集群的情况,集群内部的机器 如果有需要 不还要做缓存同步? 那不更麻烦
    riggzh
        87
    riggzh  
       2021-01-08 17:11:13 +08:00
    5 、6 、7 、8
    xeathen
        88
    xeathen  
       2021-01-08 18:22:24 +08:00
    @cco #45 他厦大一毕业就被挖去美国了,现在快 40 了,依旧在跟进最新技术,很佩服他
    xeathen
        89
    xeathen  
       2021-01-08 18:25:19 +08:00
    @hantsy #60 虽然我们就是用 docker image 部署,但是我们 jdk 升级主要还是关注项目本身诸如框架之间的兼容性。
    php8
        90
    php8  
       2021-01-08 18:31:22 +08:00 via Android
    @lewis89 几十 MB 元数据,分钟级定期刷新,比如 IP 数据库,放内存比 redis 更好
    lewis89
        91
    lewis89  
       2021-01-08 18:38:15 +08:00
    @php8 #90 这种跟垃圾回收 没什么关系了吧,基本上都是运行期不用被回收的玩意
    jzmws
        92
    jzmws  
       2021-01-09 00:02:09 +08:00
    @ericwood067 u 20x 之前用 oracle ,毕竟之前都是这个的

    现在有往 openjdk 上发展
    钱的事情还是最最要紧的
    ExplodingFKL
        93
    ExplodingFKL  
       2021-01-09 10:55:54 +08:00
    @CrazyBoyFeng java11 +openjfx 15 + jlink 还是蛮香的,可以试试
    FrankHB
        94
    FrankHB  
       2021-01-09 13:06:15 +08:00
    @ixiaohei 不能打就是因为强迫用 GC,去掉就没那么 shit 了。
    虽然习惯 GC 以后多少会用成 shit 。
    @yamasa 光一个 stack VM 就是筛子了……
    还有妄想硬件实现半途而废的光辉黑历史。
    顺带暴论:任何没戏用硬件实现还想臆造 ISA 备胎的 bytecode 方案(光是性能意义上)就是屑。
    (其实去掉限定词也没那么暴论; CRuby 改用 GCC 编译源码的 MJIT 比 bytecode VM 快了十万甚至九万倍,可见光是为了性能常规 bytecode VM 就是智商税……)
    PoetAndPoem
        95
    PoetAndPoem  
       2021-01-09 17:32:34 +08:00
    8
    dyv9
        96
    dyv9  
       2021-01-10 10:05:13 +08:00 via Android
    @hantsy 你可以用 编译 兼容 1.6 级别,但运行时还是建议用 JRE 8,因为有很大的性能提升,很多 jdk 基本库 在 JVM 8 里面是 嵌入到 dll 中的。
    hantsy
        97
    hantsy  
       2021-01-10 11:43:02 +08:00
    @dyv9 我只用最新版本的 JDK 。现在用 15,尽可能使用高版本的 API Level,根据项目需要大部分可能使用 11 API, 少量没办法的用 8 API 。8 除了不兼容高版本的情况,这种产品不多,如 Glassfish v6 还只支持 Java 8,其它想不到。
    twy
        98
    twy  
       2021-01-10 12:37:58 +08:00
    8
    Hugg
        99
    Hugg  
       2021-01-10 21:32:33 +08:00 via Android
    spring 用 8 我用 8
    IllllI
        100
    IllllI  
       2021-01-11 10:11:13 +08:00
    8
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:06 · PVG 19:06 · LAX 03:06 · JFK 06:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.