vlambda博客
学习文章列表

云原生趋势下,这几个Java领域最新实践建议你了解丨QCon

从 1995 第一个版本诞生到现在,Java 已经走过了 20 多个年头。Java 拥有繁荣的技术生态,大量优秀的企业级中间件,框架,践行 OOP 理念,使其成为企业计算领域的主流选择。虽然近两年由于 Kotlin 崛起,总是能听到很多唱衰 Java 的声音,但在 TIOBE 2020 年 3 月的编程语言排行榜中,Java 依然以 17% 的流行指数稳居第一。

Java 之所以能强势占领主流编程语言的地位,很大原因在于其强大的生态源源不断给 Java 注入新的生机。这也就是为什么每一届的 QCon 全球软件开发大会都会单独设置一个专题跟大家分享业界关于 Java 领域的最新应用与实践。

最新一届 QCon 北京 2020 邀请到阿里巴巴 Chief JVM Architect 李三红担任本次 Java 专题的出品人,他也是阿里蚂蚁程序语言与编译器团队负责人。在加入阿里之前,一直从事 IBM Java 虚拟机 J9 的开发工作,在 Java 虚拟机领域拥有多项技术专利。活跃于 Java 技术社区,GreenTea JUG(Java User Group) 组织者,JVM 顶会 JVMLS'17 受邀演讲嘉宾,JavaOne、QCon、JPoint、Joker 等国际会议受邀嘉宾,VMIL'18 会议程序委员会委员。

本专题主要探讨面向未来 Java 技术演进趋势的基础 JDK、JVM 支撑技术,面向云原生时代的微服务框架,编程模型,以及一线 Java 开发者一直关注的 Java 领域的编程实践, 性能优化,问题诊断等,我们希望给听众带来新的技术动向,前线的实践分享。接下来带大家了解具体的分享内容。

1天下武功,唯快不破:面向云原生应用的冷启动加速技术

Java 语言自从诞生以来就被打上了“慢”的标签。经过 25 年的发展,Java 程序的峰值性能在实时编译(JIT)技术的支持下已经能够超越 C/C++ 程序,但是实时编译仍然无法解决冷启动速度慢的问题。在云原生的场景下,往往需要快速拉起新的服务以响应用户持续增长的请求,此时服务的启动时间就显得至关重要。

阿里巴巴探索了两种不同维度上的冷启动加速技术,经过双 11 大促的检验都取得了良好的效果。AppCDS 技术在传统 Java 环境的维度上,利用类数据共享特性改进启动速度和减少内存开销。静态编译技术则在更为激进的维度上,将 Java 程序提前编译为二进制机器码,实现以 Native Code 的速度启动 Java 程序,带来最多两个数量级的启动性能提升。阿里巴巴技术专家林子熠的分享将分别介绍这两种技术的特点和适用场景。

内容大纲
  1. Java 的冷启动问题

  2. 积跬步,至千里

    a.改良型技术:什么是 AppCDS

    b.AppCDS 关键技术

    c.AppCDS 效果展示

  3. 敢叫日月换新天

    a.颠覆型技术:什么是静态编译

    b.静态编译效果展示

    c.静态编译的局限性

    d.阿里巴巴的静态编译实践场景

  4. 阿里巴巴龙井 JDK 对两个技术的支持

听众收益

了解冷启动问题的两种解决方案的优缺点和实施成本,根据自己的实际情况选择适合的方案。

适合人群

Java 高级开发人员、架构师和技术主管人员。

2下一代面向云原生的编程框架 Quarkus

随着各种开放云平台的出现,微服务应用得以在企业中大规模部署,在为企业应用提供高可用、高性能和快速迭代能力的同时,也对应用开发人员提出了更高的要求。传统的基于 Java 和 J2EE 的编程模型和框架在云环境下无法适应,高内存需求和启动速度缓慢等限制了它们在云平台的扩展能力,面向云原生的编程框架需求变得越来越多,红帽的 Quarkus 应运而生,它针对云计算应用场景,进行了大量的优化和改进,为云计算应用的大规模部署提供了最佳实践。红帽高级软件工程师冯征的演讲将主要介绍 Quarkus 框架设计和特点,利用 Quarkus 进行应用开发、利用 Native 模式在云平台进行部署的实践案例。

内容大纲
  1. Quarkus 框架简介

    a.面向云原生的设计理念

    b.更低的内存需求和更快速的启动时间

    c.Native 模式

    d.Quarkus 是如何利用 Graal Substrate VM 的

  2. 如何利用 Quarkus 进行开发

    a.基于 JAX-RS 的 Hello World 应用开发和测试演示

    b.开发模式(Development Mode)

    c.如何构建 Native 应用

  3. 容器化和云平台部署

    a.如何构建 Docker Image

    b.如何通过 Kubernetes 进行应用部署

  4. 更多

    a.Quarkus 的项目进展和路线图

    b.红帽的开放混合云策略(Open Hybrid Cloud Strategy)

听众受益
  1. 了解云原生编程框架 Quarkus 的技术特点和开发实践;

  2. 学习利用 Quarkus 构建 Native 应用并在云平台部署。

适合人群

有一定的服务端开发经验的 Java 开发者以及对云原生应用感兴趣的开发者。

3Tencent Kona 机器学习场景下如何跨越 OpenJDK 版本鸿沟

在数据科学发展浪潮地推动下,机器学习等技术日益流行,甚至已成为广告 / 推荐等互联网核心业务中不可或缺的一部分,JVM 在该领域有所建树是至关重要的。单纯从技术角度来看,Java/JVM 虽然具有高可靠性、高生产力等优势,但从数据类型、内存布局,再到硬件级别优化等方面来看,仍有较大改进空间。

腾讯专家工程师杨晓峰的本次演讲将梳理对机器学习负载至关重要的一些 Java 前沿创新,并以 Tencent JVM 研发团队在广告核心业务落地 Vector API 技术为例,探讨如何跨越 OpenJDK 版本鸿沟,加速其在 Java 生态的落地实践。

内容大纲
  1. 当前 Java 生态在机器学习领域的优势与不足,梳理能够深刻影响 Java 在机器学习领域竞争力的前沿创新技术;

  2. OpenJDK 新的发布周期和 Incubator 模式对于企业业务场景创新的实践意义;

  3. 以 Tencent Kona JDK 的 Vector API 技术落地实践为例,探讨:

    a.JVM 底层如何充分发挥指令级别性能潜力;

    b.如何跨越 OpenJDK 版本鸿沟,平衡前沿和通用场景业务需求。

听众受益
  1. 掌握在机器学习领域的 OpenJDK 前沿技术;

  2. 掌握 JVM 负载如何从指令级别层面充分挖掘性能潜力,理解 JVM 引擎内部原理与实践。

适合人群

Java 开发者、软件架构师和企业 IT 技术决策者,大数据 / 机器学习引擎技术专家。

4WebAssembly - 跨越从嵌入式到云端的全新容器技术

2019 年 Mozilla、英特尔、RedHat 等公司合作成立了全新的字节码联盟 (Bytecode Alliance),基于 WebAssembly (也称为 WASM)和 WebAssembly System Interface (WASI)等标准,协作开发 WASMTIME、WebAssembly Micro Runtime(WAMR)等开源项目以推动创建一个安全、高效和模块化的新运行时环境和语言工具链,让 WASM 程序脱离浏览器运行于所有的平台和设备上。

做为 WAMR 开源项目的核心成员,英特尔资深软件工程经理王鑫在本次演讲将主要介绍 WASM 作为一种新兴的语言层容器的技术特点,结合 WAMR 项目的技术特点,分享 WASM 如何可以跨越从嵌入式、设备到云端服务于不同的场景需求。本次演讲也将介绍 WAMR 在英特尔内部和社区的一些有趣的应用,以及未来的发展展望。

内容大纲
  1. WebAssembly 技术介绍

    a.WASM 发展背景与现状

    b.WASM 作为一种语言级容器的技术特点

    c.独立 WASM 引擎开源项目发展状态

  2. WebAssembly Micro Runtime (WAMR)开源项目介绍

    a.使命与设计目标

    b.技术参数

    c.Intel 内部应用介绍

    d.路线图规划

  3. WASM 和 Java 的结合应用探讨

  4. 脱离浏览器的 WASM 的行业应用与展望

听众受益
  1. 了解 WebAssembly 技术的发展历史与现状,探讨 WebAssembly 作为一种未来新型语言层的超轻量容器的技术特点与发展空间;

  2. 介绍 WebAssembly Micro Runtime (WAMR)开源项目的技术特点与应用方法,启发观众加入 WebAssembly 技术的发展,或者在自己的领域中应用 WebAssembly 构建解决方案。

适合人群

在计算机语言、Managed Runtime、超轻量级容器、Serverless 和 Web 技术等方面有兴趣的人士。