你将获得
- 坐古览今:云时代 Java 的转变与发展趋势
- 思维跃迁:深入剖析 30+ JVM 核心原理
- 实战应用:JVM 编程避坑指南与最佳实践
- 高手带路:20 年 Java 技术老兵的编程心法
课程介绍
「极客时间出品」
随着云计算和容器技术的发展,云原生应用已成为企业数字化转型的必选项。不光是一线的互联网大厂,就连传统的金融机构也都在积极地转型,拥抱云原生。
而 Java 作为老牌语言的代表也选择了顺应时代的潮流,持续在 JVM 层面进行优化,与容器化、微服务架构融合得更加紧密,引入更多新特性来更好地适应云原生的环境。比如:
- AOT 编译器和 JIT 编译器相结合,提升程序运行性能。
- 优化 JVM 的内存管理和垃圾回收机制,提高 Java 应用的性能和稳定性。
- JVM 的镜像化和容器化,以及对容器化环境的适配。
- 持续加强对函数式的支持。
- ……
这些变化背后的原理是怎样的,我们又该如何更好地把这些新特性应用到我们自己的程序当中?为此,我们邀请了京东资深架构师康杨老师来开设这门课程,他将结合自己十余年来 JVM 的实战经验以及云原生时代他对 Java 变化趋势的思考,一层层地拨开迷雾,让你通原理、晓应用,最终绘制出自己的 JVM 知识框架。
课程设计
第一章 JVM 概览
为你介绍 JVM 的由来,它的系统构成,以及当前云时代 JVM 面临的挑战及应对之法。不仅是为了让你了解 JVM 是什么,更是为了让你看清它未来发展的趋势,提前做好准备。
第二章 类与对象
帮你理清楚 JVM 是如何支持 Java 语言的面向对象编程的。了解 JVM 的对象模型和各种编译技术,JVM 从类加载到空间分配以及最后回收的全流程,以及 JVM 那些为了应对云时代的挑战做出的优化。
第三章 线程与变量
这部分你将深入 Volatile 底层的实现原理,并借助 Volatile 写出最优雅的单例模式,了解 putIntVolatile 与 putOrderedInt 的区别。深入 JUC 源码,理解它是如何使用这种优化方式的,感受 JUC 之父 Doug Lea 对性能的极致要求。学会更优雅地使用线程池,写出更高效的分布式程序,了解最新的虚拟线程技术,深入理解 JVM 底层原理对上层应用的支持。
第四章 JVM 中的编程范式
这部分你会学到 Decorator 等设计模式的使用以及函数式编程的特点,还会回归对编程本质的思考,看清设计模式与函数式编程的理论源泉,也就是人类对系统复杂度的思考和探索。
第五章 项目实战
动手实践打造你的第一个 AOT 编译的 GraalVM 应用,感受 JVM 的魅力。利用前面学到的知识点,体验如何全方位地提升系统性能,直面生产中非常经典的 FULLGC、OOM 等问题,直到真正地解决它们。