深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(1)

概念

虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。

Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM…

启动流程

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(2)

基本架构

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(3)

Java运行时编译源码(.java)成字节码,由jre运行。jre由java虚拟机(jvm)实现。Jvm分析字节码,后解释并执行。

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(4)

JVM由三个主要的子系统构成:

垃圾收集(GC:Garbage Collection)

1.如何识别垃圾,判定对象是否可被回收?

2.Java 中的堆是 GC 收集垃圾的主要区域,GC 分为两种:Minor GC、Full GC ( 或称为 Major GC )。

GC算法

按照回收策略划分为:标记-清除算法,标记-整理算法,复制算法。

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(5)

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(6)

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(7)

按分区对待可分为:增量收集算法,分代收集算法

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(8)

按系统线程可分为:串行收集算法,并行收集算法,并发收集算法

GC收集器常用组合

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(9)

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(10)

JVM性能调优思路

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(11)

理解GC日志

深入理解java虚拟机书籍(深入理解Java虚拟机---学习感悟以及笔记)(12)

[GC [PSYoungGen: 8192K->1000K(9216K)] 16004K->14604K(29696K), 0.0317424 secs] [Times: user=0.06 sys=0.00, real=0.03 secs] [GC [PSYoungGen: 9192K->1016K(9216K)] 22796K->20780K(29696K), 0.0314567 secs] [Times: user=0.06 sys=0.00, real=0.03 secs] [Full GC [PSYoungGen: 8192K->8192K(9216K)] [ParOldGen: 20435K->20435K(20480K)] 28627K->28627K(29696K), [Metaspace: 8469K->8469K(1056768K)], 0.1307495 secs] [Times: user=0.50 sys=0.00, real=0.13 secs] [Full GC [PSYoungGen: 8192K->8192K(9216K)] [ParOldGen: 20437K->20437K(20480K)] 28629K->28629K(29696K), [Metaspace: 8469K->8469K(1056768K)], 0.1240311 secs] [Times: user=0.42 sys=0.00, real=0.12 secs]

常见异常

以上就是今天的分享啦~

如果大家有问题或者想了解更多的

技术干货可以私信发送【微信】加朗妹儿微信哟~

,