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

Java 21 今日 GA,有虚拟线程(协程)

  •  1
     
  •   cbdyzj · 221 天前 · 4601 次点击
    这是一个创建于 221 天前的主题,其中的信息可能已经有所发展或是发生改变。
    35 条回复    2023-10-12 21:50:46 +08:00
    nikenidage1
        1
    nikenidage1  
       221 天前   ❤️ 16
    他强任他强,清风拂山岗;他发由他发,我用爪哇八.
    SwinBlackSea
        2
    SwinBlackSea  
       221 天前
    蛮怪的
    brettcao
        3
    brettcao  
       221 天前
    ~~,java8 没人愿意升级
    chuck1in
        4
    chuck1in  
       221 天前
    刚出来还是不太敢用。追新的话最好先用 jdk17 等过两年再上 21 稳妥。
    BaseException
        5
    BaseException  
       221 天前   ❤️ 1
    在用 11 和 17 了。新特性没用上啥,还是 java8 的那套熟悉……
    iloveayu
        6
    iloveayu  
       221 天前 via iPhone
    2031 年以后再说
    xianyv
        7
    xianyv  
       221 天前
    公司还是 java8 那一套, 公司不升级只能自己玩一下了
    anguliuyun
        8
    anguliuyun  
       221 天前
    @nikenidage1 好湿好湿
    Morii
        9
    Morii  
       221 天前
    有大佬通俗易懂的分享下这个和 golang 协程的区别吗?
    zhouhu
        10
    zhouhu  
       221 天前
    分代 ZGC 没人关注吗
    Leviathann
        11
    Leviathann  
       221 天前
    @Morii go 自己搞了一套抢占式调度,没有结构化并发
    x1aoYao
        12
    x1aoYao  
       221 天前
    @Leviathann Go 准确来说应该是协作式+抢占式,甚至 1.0 版本还只支持协作式
    vincent7245
        13
    vincent7245  
       221 天前
    java8 + kilim 又不是不能用
    mmdsun
        14
    mmdsun  
       221 天前   ❤️ 1
    @Morii 忽略 op 的话并不是协程。
    其实 goroutine 也不是协程,官方定义是 lightweight thread managed by the Go runtime.

    没有 yield 和调用者明确地指定控制权,都不算协程。
    Akitora
        15
    Akitora  
       221 天前
    Gradle 还没支持 JDK21 ,只能继续用 20+preview 了
    x1aoYao
        16
    x1aoYao  
       221 天前
    @mmdsun 确实没有 yield 或者 await 这些关键字,但是对 channel 的读写是可能会主动 park 当前 goroutine ,或者 notify 其他 goroutine 的,也算是有协作了。我觉得简单理解成带有抢占调度的有栈协程也没什么问题。
    leiuu
        17
    leiuu  
       221 天前
    好事 目前我们全线基本 java17 了 下一步就准备上 21 了
    whrss9527
        18
    whrss9527  
       221 天前
    @vincent7245 Java8+Kotlin?
    whrss9527
        19
    whrss9527  
       221 天前
    @vincent7245 google 了下,学习到了
    twofox
        20
    twofox  
       221 天前
    我觉得升级来升级去,JVM 特性比较重要些。毕竟 Java 8 的垃圾回收已经非常落后了
    新的 ZGC 就稳的一批
    natsu94
        21
    natsu94  
       221 天前
    Java 是时候引入 channel 了(
    layfones
        22
    layfones  
       221 天前
    相当重磅的更新:
    虚拟线程
    ZGC
    模式匹配
    然 Java 8 乃是祖宗之法,祖宗之法不可变!!!
    ikas
        23
    ikas  
       221 天前
    springboot2 11 月停止免费安全更新.
    可以 21+springboot3 直接一步到位了.
    txzh007
        24
    txzh007  
       221 天前
    @leiuu 8 升 17 我都一肚子火,各种依赖冲突,升到 21 估计好多框架不支持了
    lifespy
        25
    lifespy  
       220 天前
    lifespy
        26
    lifespy  
       220 天前
    lombok 不兼容,会导致启动失败
    Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

    https://github.com/projectlombok/lombok/issues/3393
    q447643445
        27
    q447643445  
       220 天前
    如果有机会 第一时间 上 sp3 + jdk21
    都说没区别 实际上区别还是挺大的
    keepRun
        28
    keepRun  
       220 天前
    java11 已经不少公司在用了,别再 java8 了
    leisifung
        29
    leisifung  
       220 天前
    新项目会用最新的 LTS JDK
    luobingit
        30
    luobingit  
       220 天前
    想想现在面试还在问 java8 新特征 就有点想笑
    emSaVya
        31
    emSaVya  
       220 天前
    Virtual threads are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications.

    不要拿这种 micro thread 污染 coroutine 语义了。java 早晚也会出 coroutine, 到时候你怎么翻译?
    zhouhu
        32
    zhouhu  
       220 天前
    补充一个,堆大小为 128M:
    Time: 
    2023-09-20 11:13:18
    Used: 108,544 kbytes
    Committed: 131,072 kbytes
    Max: 131,072 kbytes
    GC time: 
     8.149 seconds on ZGC Minor Cycles (384 collections)

     0.006 seconds on ZGC Minor Pauses (1,185 collections)

    12.133 seconds on ZGC Major Cycles (61 collections)

     0.001 seconds on ZGC Major Pauses (279 collections)
    lvye
        33
    lvye  
       220 天前
    @lifespy #26 1.18.30 发布了,已经修复这个问题了
    zhouhu
        34
    zhouhu  
       220 天前
    ![测试图片]( https://imgur.com/a/nxo9wQv)
    knightdf
        35
    knightdf  
       198 天前
    今天尝试更新一把,结果发现 gradle (应该说是 kotlin )还不支持 jdk 21
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2883 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:36 · PVG 22:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.