Redian新闻
>
如何快速上手Java虚拟机?| 极客时间

如何快速上手Java虚拟机?| 极客时间

公众号新闻

前不久我参加了一个国外程序员的讲座,讲座的副标题很有趣,叫做“我如何学会停止恐惧,并且爱上 Java 虚拟机”。

这句话来自一部黑色幽默电影《奇爱博士》,电影描述了冷战时期剑拔弩张的氛围。程序员之间的语言之争又未尝不是如此。写系统语言的鄙视托管语言那低下的执行效率;写托管语言的则取笑系统语言需要手动管理内存;写动态语言的不屑于静态语言那冗余的类型系统;写静态语言的则嘲讽动态语言里边各种光怪陆离的运行时错误。

Java 作为应用最广的语言,自然吸引了不少的攻击,而身为 Java 程序员的你,或许在口水战中落了下风,忿忿于没有足够的知识武装自己;又或许想要深入学习 Java 语言,却又无从下手。甚至是在实践中被 Java 的启动性能、内存耗费所震惊,因此对 Java 语言本身产生了种种的怀疑与顾虑。

不过别担心,学习 Java 虚拟机,就可以解答你对 Java 的种种疑虑,做到“知其所以然”——了解 Java 程序是如何被执行且优化的。这样一来,你才可以从内部入手,达到高效编程的目的。与此同时,你也可以为学习更深层级、更为核心的 Java 技术打好基础。

如果我们把核心类库的 API 比做数学公式的话,那么 Java 虚拟机的知识就好比公式的推导过程。掌握数学公式固然可以应付考试,但是了解背后的推导过程更加有助于记忆和理解。并且,在遇到那些没法套公式的情况下,我们也能知道如何解决

在我 7 年的学习工作生涯中,我拜读过许多大神关于 Java 虚拟机的技术博客,在受益匪浅的同时,我发觉不少文章的门槛都比较高,而且过分注重实现细节,这并不是大多数的开发人员可以受益的调优方案。这么一来,许多原本对 Java 虚拟机感兴趣的同学, 也因为过高的门槛,以及短时间内看不到的收益,而放弃了对 Java 虚拟机的学习

这是我非常不想看到的。在收到极客时间的邀请后,我决定挑战一下 Java 虚拟机的科普工作,于是有了这个专栏:《深入拆解 Java 虚拟机》。在这个专栏里,我会用简单通俗的语言,来介绍 Java 虚拟机的实现。具体到每篇文章,我将采用一个贯穿全文的案例来阐述知识点,并且给出相应的分析建议。在文章的末尾,我还将附上一个动手实践的环节,帮助你巩固对知识点的理解。

限时折扣仅 ¥90  129

新人更优惠 ¥59 到手

我是谁?

我是郑雨迪,是甲骨文实验室(Oracle Labs)的高级研究员,主要负责研究如何通过程序分析技术以及动态编译技术让程序语言跑得更快。我是全栈虚拟机 Graal 编译器的核心开发者之一,也在为 HotSpot 虚拟机项目添砖加瓦。

这里顺便说明一下,Graal 编译器是 Java 10 正式引入的实验性即时编译器,在国内同行口中被称为“甲骨文黑科技”。其实,我们的工作同样也是分析应用程序的性能瓶颈,寻找优化空间,只不过我们的优化方式对自动化、通用性有更高的要求。因此,我来讲 Java 虚拟机,可以为你提供一些深入的、独特的视角,让你更能洞察 Java 虚拟机的核心。

加入甲骨文之前,我在瑞士卢加诺大学攻读博士学位,研究如何更加精准地监控 Java 程序,以便做出更具针对性的优化。比如,我研究过 JVM 监控工具的“observer effect”,并提出一套针对动态编译的解决方案。这些研究工作均已发表在程序语言方向的顶级会议上,并获得了不少同行的认可。

课程介绍

我的整个专栏将分为四大模块。

基本原理:剖析 Java 虚拟机的运行机制,逐一介绍 Java 虚拟机的设计决策以及工程实现;

高效实现:探索 Java 编译器,以及内嵌于 Java 虚拟机中的即时编译器,帮助你更好地理解 Java 语言特性,继而写出简洁高效的代码;

代码优化:介绍如何利用工具定位并解决代码中的问题,以及在已有工具不适用的情况下,如何打造专属轮子;

虚拟机黑科技:介绍甲骨文实验室近年来的前沿工作之一 GraalVM。包括如何在 JVM 上高效运行其他语言;如何混搭这些语言,实现 Polyglot;如何将这些语言事前编译(Ahead-Of-Time,AOT)成机器指令,单独运行甚至嵌入至数据库中运行。

我并不希望将专栏单纯写成一本工具书,这样的知识你可以从市面上任意买到一本书获得。我更希望的是,能够通过介绍 Java 虚拟机各个组件的设计和实现,让你之后遇到虚拟机相关的问题时,能够联想到具体的模块,甚至是对于其他语言的运行时,也可以举一反三相互对照。

限时折扣仅 ¥90 129 

新人更优惠 ¥59 到手

如果这个专栏激发了你对 Java 虚拟机的学习热情,那么我建议你着手去阅读 HotSpot 源代码,并且回馈给 OpenJDK 开源社区。这种回馈并不一定是提交 patch,也可以是 Bug report 或者改进建议等等。我也会不定期地在本专栏中发布新的 Java 虚拟机相关内容,你如果有想要了解的内容,也可以给我留言反馈。最后,感谢一路以来的陪伴与支持!

点击阅读原文

查看更详细的课程介绍

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
骨灰级运维开发:监控系统,从来不只是运维的事儿 | 极客时间沁园春 雷电天气提效50%+!如何5分钟速成Prompt工程师?| 极客时间10 年 MQ 老兵:消息队列如何学、如何选?| 极客时间Python+Vue+Flask,打造让面试官眼前一亮的在线视频网站 | 极客时间1-3 年经验的前端怎么进步?没到 25k 的抓紧看!| 极客时间ChatGPT 爆火,网络安全如何保障?| 极客时间前端工作两年,应该把精力放在 Vue 上还是 JS、React、工程化上?| 极客时间95后芯片工程师,如何快速上手进阶?年薪 80W!大厂掀起 AIGC 人才大战,普通打工人应该怎么做?| 极客时间3天,手把手教你搭建自己的监控系统(附代码)| 极客时间小白教程 / 高清无码/ Xshell 连接 VMware 上的虚拟机不被ChatGPT淘汰的体验设计师,都具备这4点能力 | 极客时间人脸识别技术应用征求意见发布;微软推出最强生成式AI虚拟机;华为天才少年大模型创业丨AIGC大事日报数字化企业如何占领未来发展制高点?DTDS 全球数字人才发展峰会为您揭秘 | 极客时间企业版从虚拟人到虚拟人类,虚拟咔咔+ChatGPT,给智能以生命移民生活(五)如何在面试中巧妙展现架构能力?附200道面试真题+100例经典架构案例拆解 | 极客时间AI 新时代, 这才是普通程序员能抓住的新风口!| 极客时间AI时代的现实生存指南,解锁46个AIGC高频场景 | 极客时间从简历、技巧到面试题精讲,带你搞定Java面试 | 极客时间如何访问虚拟机中的 GRUB 菜单 | Linux 中国多少恶毒,以正义之名女追男隔层纱,男追女隔座山极客时间企业版 AI 学习助手上线,引领学习体验全面升级手撸个自己的操作系统,NB!| 极客时间最好用的 6 款虚拟机软件如何安装和使用 GNOME Boxes 来创建虚拟机 | Linux 中国关于高可用、高性能、可扩展架构设计的14大要点详解 | 极客时间掌握C++的程序员,为什么发展前景更广?| 极客时间需求猛增42%!大厂 AIGC 人才争夺战再升级(内附知识库)| 极客时间5055 血壮山河之武汉会战 鏖战幕府山 24考虑了很久,还是决定转Go了!| 极客时间前阿里 P9 居然是这样画架构图的,看完惊呆了!| 极客时间GPT-4时代,如何2周上手AI应用开发?| 极客时间
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。