You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
5.4 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 深入拆解Java虚拟机
## 你将获得
* Java工程师进阶加薪必修课
* 4大模块全方位拆解JVM
* 帮助你编写高效Java代码
* 揭秘Oracle最新Java黑科技。
## 讲师介绍
郑雨迪Oracle Labs高级研究员GraalVM编译器组核心开发者之一。研究方向包括动态编译及程序分析。在加入Oracle Labs前郑雨迪于瑞士卢加诺大学攻读并获得计算机博士学位。
郑雨迪在Java虚拟机性能优化方向有多年研究经验在攻读博士学位期间郑雨迪致力于Java字节码注入、Java虚拟机监控工具方面的研究并提出过一套针对动态编译的解决方案。这些研究工作已发表在程序语言方向的顶级会议上得到了不少学术界及工业界同行的认可。郑雨迪在Oracle Labs主要负责研究如何通过程序分析以及动态编译让程序语言跑得更快。工作同样是分析性能瓶颈寻找优化空间。
## 课程介绍
作为开发工程师你也许会在日常编程中被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-TimeAOT编译的SubstrateVM。
## 课程目录
![](https://static001.geekbang.org/resource/image/e1/8b/e1f66513ee56e661ad8ade980a88578b.jpg)
## 适合人群
1. 希望了解底层Java虚拟机实现的开发者。
2. 有一定Java基础希望达成技术进阶的Java工程师。
3. 希望在面试中对答如流的Java语言应聘者以及希望考倒应聘者的面试官们。
4. 想要了解 Oracle GraalVM黑科技或考虑借此技术转型的开发人员。
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。