天天看点

深入理解JVM之JVM介绍(一)

学习思路

学习JVM与一些应用框架有所不同,一般我们学习应用框架只要会用就可以,例如学习spingboot框架,学完后很快就可以写个测试用例,建个类,加几个注解,写上路径,然后启动通过浏览器就可以看到效果。应用层框架相对来说是容易的。而JVM学习是比较枯燥的,比较理论,而对于我们程序员更喜欢去看代码学习。

学习JVM理论一般是很难用程序来测试验证的,需要看一些生成的字节码文件和一些硬件信息结合起来理解。在我们工作中也运用很少,所以实践就少,在学习中不管看书看视频还是看博客,一定要自己做记录,平时有时间也要多回顾。

JVM版本很多,范围也特别广,本次主要写的是一些最为常见重要且广泛的通用知识,这些通用知识一般是适用大多版本。

JVM课程大纲与分析工具

介绍:JVM是一个令人望而却步的领域,因为它博大精深,涉及到的内容与知识点非常之多。虽然Java开发者每天都在使用JVM,但对其有所研究并且研究深入的人却少之又少。然而,JVM的重要性却又是不言而喻的。基于JVM的各种动态与静态语言生态圈已经异常繁荣了,对JVM的运行机制有一定的了解不但可以提升我们的竞争力,还可以让我们在面对问题时能够沉着应对,加速问题的解决速度;同时还能够增强我们的自信心,让我们更加游刃有余。

JVM介绍

HotSpot虚拟机讲解

垃圾收集方式详解

垃圾收集算法详解

垃圾收集器详解

分代垃圾收集机制详解

新生代讲解

老年代讲解

G1收集器分析与实例

常见且重要虚拟机参数示例

方法区

线程共享内存区

根搜索算法

Serial收集器

ParNew收集器

类加载机制详解

类加载的双亲委托机制

字节码文件生成与分析

魔数

常量池与方法表

各种指令详解

锁详解

线程安全

偏向锁、自旋锁与轻量级锁

JIT编译器

GC日志生成与分析

虚拟机监控工具详解

jConsole使用方式详解

何为逃逸与逃逸分析

方法内联

虚拟机内存模型详解

jConsole工具

jConsole是jdk自带的工具,在命令窗口输入jconsole

深入理解JVM之JVM介绍(一)

出现如下界面选择sun.tools.jconsole.JConsole

深入理解JVM之JVM介绍(一)

选择不安全的连接

深入理解JVM之JVM介绍(一)

看到如下界面表示Jconsole工具,里面提供了很多的监控工具,可以先了解下,后续文章会详细讲解

深入理解JVM之JVM介绍(一)

jvisualvm工具

jvisualvm关于JVM的集成工具。在命令窗口输入jvisualvm

深入理解JVM之JVM介绍(一)

看到如下页面表示已经进入jvisualvm工具

深入理解JVM之JVM介绍(一)

选择本地VisualVm可以监控本地的页面,也可以连接远程的服务器进行监控

深入理解JVM之JVM介绍(一)

jmap工具

jmap是一个命令行工具。在命令窗口输入jmap

深入理解JVM之JVM介绍(一)

以上工具会在后续文章进行详细介绍。

                                           --------------想看更多内容请关注公众号--------------

深入理解JVM之JVM介绍(一)
jvm