深入拆解Java虚拟机- 极客时间课程推荐/优惠

深入拆解Java虚拟机--极客时间课程推荐/优惠

Oracle 高级研究员手把手带你入门JVM
郑雨迪Oracle 高级研究员,计算机博士
专栏 | 40讲 | 88472人已学习
优惠价¥59原价:129
官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得

  • Java工程师进阶加薪必修课;
  • 4大模块全方位拆解JVM;
  • 帮助你编写高效Java代码;
  • 揭秘Oracle最新Java黑科技。

课程介绍

作为开发工程师,你也许会在日常编程中被Java的启动性能和内存耗费所震惊,继而对Java语言产生怀疑;或许在使用虚拟机遇见内存溢出等一系列异常时头疼万分,困扰于为什么会出现各种问题。

和语言朝夕相处的开发者们,提及代码的详细运行过程也难免会一时语塞。这都是由于Java虚拟机封装得太好,让使用者几乎感觉不到它的存在。虽然这种“一次编写,到处运行”优势颇多,但是却也让我们忽略了学习Java虚拟机的必要。

熟知Java虚拟机的工作原理可以大幅提升日常编程的效率,对寻常Bug的修复更是轻而易举。同时,这也是Java技术的重要组成成分之一,是实现技术进阶必不可缺的知识。

本专栏通过揭秘Java 虚拟机的工作原理,详细阐述Java程序是如何被执行并且被优化的。介绍的内容并不限于某一个版本,从8到11都会涉及。通过学习此专栏,你将了解如何编写高效的代码,如何对Bug达到最优处理,以及如何针对自己的应用调整虚拟机的运行参数。

本专栏共36期,分为四大模块。

模块一 Java虚拟机基本原理

剖析Java虚拟机的运行机制,逐次介绍Java虚拟机的设计决策以及工程实现。

模块二 高效编译

在本模块中,作者将带你探索Java编译器,以及内嵌于Java虚拟机中的即时编译器,帮助你更好地理解Java语言特性,继而写出简洁高效的代码。

模块三 代码优化

在实践过程中我们经常会遇到形形色色的性能问题,解决方法不外乎加机器加内存。本模块将介绍上述方法失效后的Plan B,即如何利用工具定位并解决代码中的潜在问题,以及在已有工具不适用的情况下,如何打造专属轮子。此外,本模块还将介绍对JVM内存管理失去信心的开发者所选取的解决方案,以备不时之需。

模块四 虚拟机黑科技

当一门程序语言成熟稳定后,技术大神们便热衷于用这种语言开发实现编译器或虚拟机。在Java 10中,Graal已作为试验性即时编译器一同发布。本模块将详细科普GraalVM的各个组成部分,其中包括编译器Graal,语言实现框架Truffle,以及支持Ahead-of-Time(AOT)编译的SubstrateVM。

课程目录

开篇词

  • 开篇词 | 为什么我们要学习Java虚拟机?

模块一:Java虚拟机基本原理

  • 01 | Java代码是怎么运行的?
  • 02 | Java的基本类型
  • 03 | Java虚拟机是如何加载Java类的?
  • 04 | JVM是如何执行方法调用的?(上)
  • 05 | JVM是如何执行方法调用的?(下)
  • 06 | JVM是如何处理异常的?
  • 07 | JVM是如何实现反射的?
  • 08 | JVM是怎么实现invokedynamic的?(上)
  • 09 | JVM是怎么实现invokedynamic的?(下)
  • 10 | Java对象的内存布局
  • 11 | 垃圾回收(上)
  • 12 | 垃圾回收(下)

模块二:高效编译

  • 【工具篇】 常用工具介绍
  • 13 | Java内存模型
  • 14 | Java虚拟机是怎么实现synchronized的?
  • 15 | Java语法糖与Java编译器
  • 16 | 即时编译(上)
  • 17 | 即时编译(下)
  • 18 | 即时编译器的中间表达形式
  • 20 | 方法内联(上)
  • 21 | 方法内联(下)
  • 19 | Java字节码(基础篇)
  • 22 | HotSpot虚拟机的intrinsic
  • 23 | 逃逸分析

模块三:代码优化

  • 24 | 字段访问相关优化
  • 25 | 循环优化
  • 26 | 向量化
  • 27 | 注解处理器
  • 28 | 基准测试框架JMH(上)
  • 29 | 基准测试框架JMH(下)
  • 30 | Java虚拟机的监控及诊断工具(命令行篇)
  • 31 | Java虚拟机的监控及诊断工具(GUI篇)
  • 32 | JNI的运行机制
  • 33 | Java Agent与字节码注入

模块四:黑科技

  • 34 | Graal:用Java编译Java
  • 35 | Truffle:语言实现框架
  • 36 | SubstrateVM:AOT编译框架

尾声

  • 结课测试 | 这些Java虚拟机的知识你都掌握了吗?
  • 尾声 | 道阻且长,努力加餐

作者介绍

郑雨迪,Oracle Labs高级研究员,GraalVM编译器组核心开发者之一。研究方向包括动态编译及程序分析。在加入Oracle Labs前,郑雨迪于瑞士卢加诺大学攻读并获得计算机博士学位。 郑雨迪在Java虚拟机性能优化方向有多年研究经验,在攻读博士学位期间,郑雨迪致力于Java字节码注入、Java虚拟机监控工具方面的研究,并提出过一套针对动态编译的解决方案。这些研究工作已发表在程序语言方向的顶级会议上,得到了不少学术界及工业界同行的认可。郑雨迪在Oracle Labs主要负责研究如何通过程序分析,以及动态编译让程序语言跑得更快。工作同样是分析性能瓶颈寻找优化空间。

推荐

Linux内核技术实战课 - 极客时间课程推荐/分享/优惠/折扣
Linux内核技术实战课
从内核层面攻克应用程序难题
邵亚方前蘑菇街技术专家,Linux Kernel活跃贡献者
专栏 | 24200人已学习
优惠价¥59原价:99
官网优惠购买
徐昊 · TDD项目实战70讲 - 极客时间课程推荐/分享/优惠/折扣
徐昊 · TDD项目实战70讲
大师领路,带你重构TDD技能
徐昊Thoughtworks中国区CTO
专栏 | 18563人已学习
优惠价¥98原价:299
官网优惠购买
微服务架构实战160讲 - 极客时间课程推荐/分享/优惠/折扣
微服务架构实战160讲
8大核心模块精讲,打通架构师进阶之路
杨波拍拍贷框架研发部总监,资深架构师,微服务技术专家
视频课 | 48941人已学习
优惠价¥98原价:299
官网优惠购买
Go语言核心36讲 - 极客时间课程推荐/分享/优惠/折扣
Go语言核心36讲
3个月带你通关Go语言
郝林《Go并发编程实战》作者,前轻松筹大数据负责人
专栏 | 80737人已学习
优惠价¥59原价:129
官网优惠购买
摄影入门课 - 极客时间课程推荐/分享/优惠/折扣
摄影入门课
希望人人都能拍出好照片
小麥独立摄影师
专栏 | 22694人已学习
优惠价¥59原价:99
官网优惠购买
成为AI产品经理 - 极客时间课程推荐/分享/优惠/折扣
成为AI产品经理
从 0 构建 AI 产品经理的知识体系
刘海丰京东高级架构师
专栏 | 25230人已学习
优惠价¥59原价:129
官网优惠购买