阿里P8教你如何学习JVM

前言

提到Java虚拟机(JVM),可能大部分人的第一印象是“难”,但当让我们真正走入“JVM世界”的时候,会发现其实问题并不像我们想象中的那么复杂。唯一真正令我们恐惧的,其实是恐惧本身。

为了帮助大家更好的学习JVM,小编送给大家一本PDF书籍,详见下文啦~

一、什么是JVM?

JVM简介: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。简单来说JVM是用来解析和运行Java程序的。

Java有一个非常重要的特点“平台的无关性”,就是使用JVM实现的。Java语言只需要生成Jvm上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,因为JVM本身屏蔽了与具体平台相关的信息,使得Java能够“一次编译,到处运行”。

二、为什么要学习JVM?

学习JVM无外乎以下几个原因:

1、 程序调优

不同的程序(业务场景)需要不同的Jvm配置,比如设置不同的垃圾收集器、设置新生代和老生带的内存配置和占比等,不同的配置对于程序的运行有着千差万别的影响。而Jvm默认的配置只能保证程序能够“运行”,而想要“很好的运行”甚至是“更好的运行”,就是学习Jvm最主要的因素之一。

2、 排查程序运行问题

有些程序可能在线上使用的时候会遇到各种各样的问题,而这些问题通常都是致命的,比如内存溢出,死锁导致的程序运行缓慢等,而这些问题在开发和小量并发测试阶段是很容易被忽略的缺陷,所以学习好了Jvm才能在关键的时候,临危不乱帮你扫除系统中的“顽疾”。

3、 掌握了程序执行的根本和原理

也就是很多人说的:不但要“知其然”,还要“知其所以然”。

4、 规避写代码时候的一些错误

比如避免重载可变长参数的调用(后面文章会给出具体的案例)。

5、 应付面试

不得不说这也是很多人学习的目的之一,当然这也是积极的推动力,如果你明白“鲶鱼效应”的话。

6、 掌握了其他语言的通用机制

JVM还有一个强大之处是,它不止可以运行Java程序,还可以运行Scala、Clojure、Groovy,以及时下热门的 Kotlin,学习JVM便可以了解这些语言的通用机制,甚至于让这些语言共享生态系统。

三、怎么有效的学习JVM?


以上了解了学习JVM的种种好处,但是怎么有效的学习JVM呢?有人可能一看到“JVM”或者“Java虚拟机”这几个字就懵了,不知道它是啥,更别说要怎么学了。

下面小编就给大家推荐一篇PDF书籍《揭秘JAVA虚拟机-JVM设计原理与实现》需要获得这本书的小伙伴关注点赞后可以私信我获取哦~

本书共677页,分为10章,由于篇幅有限,下面给大家展示部分内容。

阿里P8教你如何学习JVM

第1章Java虚拟机概述

第2章Java执行引擎工作原理:方法调用

第3章Java数据结构与面向对象

第4章Java字节码实战

第5章常量池解析

第6章类变量解析

第7章Java栈帧

第8章类方法解析

第9章执行引擎

第1-2章

阿里P8教你如何学习JVM

第3-4章

阿里P8教你如何学习JVM

第5章

阿里P8教你如何学习JVM

第9-10章

阿里P8教你如何学习JVM

由于篇幅有限,只能先给大家展示这么多,需要获取这本完整PDF书籍的小伙伴请在关注点赞后私信我获取哦~

猜你喜欢

转载自blog.csdn.net/Toidu/article/details/106841980