转载

Java工程师是否有必要特别懂JVM?

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

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

熟知 Java 虚拟机的工作原理可以大幅提升日常编程的效率,对寻常 Bug 的修复更是轻而易举。同时,Java 虚拟机也是 Java 技术的重要组成成分之一,是实现技术进阶必不可缺的知识。 本专栏通过揭秘 Java 虚拟机的工作原理,详细阐述 Java 程序是如何被执行并且被优化的。通过学习此专栏,你将了解如何编写高效的代码,如何对 Bug 达到最优处理,以及如何针对自己的应用调整虚拟机的运行参数。

作者简介

我是郑雨迪,是甲骨文实验室(Oracle Labs)的高级研究员,主要负责研究如何通过程序分析技术以及动态编译技术让程序语言跑得更快。我是全栈虚拟机Graal编译器的核心开发者之一,也在为HotSpot虚拟机项目添砖加瓦,Graal编译器是Java 10正式引入的实验性即时编译器,在国内同行口中被称为“甲骨文黑科技”。我们的工作同样也是分析应用程序的性能瓶颈,寻找优化空间,只不过我们的优化方式对自动化、通用性有更高的要求。

因此,我来讲Java虚拟机,可以为你提供一些深入的、独特的视角,让你更能洞察Java虚拟机的核心。我的整个专栏将分为四大模块。

基本原理

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

高效实现

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

代码优化

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

虚拟机黑科技

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

Java工程师是否有必要特别懂JVM?

订阅福利

福利一:限时优惠价¥45,原价¥68,7 月 28 日恢复原价

福利二:每邀请一位好友购买,你可获得 18 元现金返现,多邀多得,上不封顶,立即提现(提现流程:极客时间 App - 我的 - 分享有赏)

Java工程师是否有必要特别懂JVM?
原文  http://www.jianshu.com/p/6a84864f4fa0
正文到此结束
Loading...