美文网首页
01 | 学习Java 虚拟机的好处

01 | 学习Java 虚拟机的好处

作者: 遗忘的残酷 | 来源:发表于2020-05-21 12:49 被阅读0次

    “知其然” 也要 “知其所以然”

    学习 Java 虚拟机的 本质,了解Java 虚拟机如何被执行且优化的。

    从内部入手达到高效编程的目的,为更高层次、更为核心的Java 技术打好基础。

    知道核心类库API 专注业务实现,需要了解Java虚拟机吗?

    API 比作数学公式,Java 虚拟机好比推到过程,掌握公式可以应付考试,了解背后的推到过程有助于记忆和理解。

    遇到没有公式的情况,也可以知道如何解决。

    学习Java 虚拟机的好处

    • 配置参数 满足 不同场景 对程序性能的要求

    举例来说,macOS 上的 Java 10 共有近千个配置参数:
    $ java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -version | wc -l
    java version "10" 2018-03-20
    Java(TM) SE Runtime Environment 18.3 (build 10+46)
    Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
    812

    • 规避虚拟机Bug ,更快识别Java虚拟机错误。
      Java 虚拟机本身是工程产品,实现过程自然存在不少局限性。

    • 了解背后设计决策
      Java 虚拟机有当前最前沿、最成熟的垃圾回收算法实现,已经即时编译器的实现。了解背后设计决策,在遇到其他代码托管技术可以触类旁通。

    • 了解语音的通用机制
      Java 虚拟机的发展已经脱离Java语言,形成一套相对独立、高性能的执行方案。
      除了 Java 外,Scala、Clojure、Groovy,以及时下热门的 Kotlin,这些语言都可以运行在 Java 虚拟机之上。

    专栏作者
    甲骨文实验室高级研究员
    研究如何通过程序分析技术让程序语音跑的更快。
    Graal 编译器的核心开发者之一,Graal 编译器是 Java 10 正式引入的实验性即时编译器,在国内同行口中被戏称为“甲骨文黑科技”

    内容:

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

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

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

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

    相关文章

      网友评论

          本文标题:01 | 学习Java 虚拟机的好处

          本文链接:https://www.haomeiwen.com/subject/syjzohtx.html