《阿里巴巴 Java 版本升级实践-董登辉.pdf》由会员分享,可在线阅读,更多相关《阿里巴巴 Java 版本升级实践-董登辉.pdf(43页珍藏版)》请在三个皮匠报告上搜索。
1、阿里巴巴 Java 升级实践阿里云智能高级技术专家/董登辉个人简介2015 年毕业于北京科技大学,加入蚂蚁金服国际事业部目前在阿里云基础软件编译器团队,负责 JVM RAS 方向负责的云产品:应用诊断分析平台 ATPEclipse JIFA&Adoptium EMT4J Project LeadAlibaba Dragonwell JDK MaintainerOpenJDK Committer目录Java 语言生态趋势新版本特性升级工具内部实践展望JDK 发布模型Time-based release model每 6 个月发布 1 个新版本,并维护 6 个月目前最新的版本是 22每两年 1 个
2、 LTS 版本:8,11,17,21$FEATURE.$INTERIM.$UPDATE.$PATCHJEP 233,322JDK Vendors阿里巴巴,华为,腾讯Azul,亚马逊,微软,甲骨文,红帽 厂商中立 Adoptium Eclipse TEnd of Life2023202520272029203120212019Dragonwell 8(2019.3-至少到 2026.6)Dragonwell 11(2019.12-至少到 2027.9)Dragonwell17(2021.11-至少到 2027.9)Dragonwell 21(2023.10-至少到 2029.11) Relic
3、Java 2023 生态报告8411046480335690%23%45%68%90%Java 8Java 11Java 17202020222023框架&库框架&库AI 场景JVector纯 Java 实现的 vector 搜索引擎Vector APITornadoVM异构计算,让 Java 程序运行在 GPU、FPGA 设备上JVMCI,Graal IR目录Java 语言生态趋势新版本特性升级工具内部实践展望新特性分布Highlights运行时GC&内存CompilerRASThread Local HandshakeHelpful NPEApp CDSVirtual ThreadG1 优
4、化Generational ZGCShenandoahEpsilon GCElastic MetaspaceCompact StringSegment CodeCacheJVMCIVector APIIntrinsic 优化Unified LoggingStack Walking APIHeap ProfilingJFR Event Streaming平台其他Linux/RISC-VAArch64模块化jlinkMulti-Release JAR序列化安全加密算法https:/openjdk.org/jeps/0语法Structured ConcurrencyScoped ValueVirtu
5、al Thread传统线程由 OS 进行调度,虚拟线程由 VM 调度百万级别虚拟线程,虚拟线程不是资源回归同步编程,可观测性ThreadLocal vs ScopedValuesynchronized 中阻塞会导致 pinning,会在后续的版本中解决OS Thread 1OS Thread 2OS Thread NPlatform Thread 1Platform Thread 2Platform Thread NVirtual Thread 1Virtual Thread 2Virtual Thread 3Virtual Thread KForkJoinPoolGenerational Z
6、GCScalable(TB),Low-Latency(Pauses 1ms)Automatic Tuning,只需要设置-XmxLoad&Store Barrier,Colored Pointer-XX:+ZGenerational,引入分代机制提高性能性能数据YOHeapZHeapYOOYYYOYOVector API56786789SIMD+123423453579通过一套 API 表示向量计算显示的数据并行,SIMD,跨平台可以覆盖自动向量化不能优化的场景仍在孵化中128-bit vectorVector API通过一套 API 表示向量计算显示的数据并行,SIMD,跨平台可以覆盖自动向