概念

虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有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程序员应该懂的技术(那你必须要懂得JVM原理)(1)

基本架构

java程序员应该懂的技术(那你必须要懂得JVM原理)(2)

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

java程序员应该懂的技术(那你必须要懂得JVM原理)(3)

JVM由三个主要的子系统构成:垃圾收集(GC:Garbage Collection)

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

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

GC算法

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

java程序员应该懂的技术(那你必须要懂得JVM原理)(4)

java程序员应该懂的技术(那你必须要懂得JVM原理)(5)

java程序员应该懂的技术(那你必须要懂得JVM原理)(6)

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

java程序员应该懂的技术(那你必须要懂得JVM原理)(7)

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

GC收集器常用组合

java程序员应该懂的技术(那你必须要懂得JVM原理)(8)

java程序员应该懂的技术(那你必须要懂得JVM原理)(9)

JVM性能调优思路

java程序员应该懂的技术(那你必须要懂得JVM原理)(10)

常见异常

今天分享一套比较全面的java学习视频,Java系统学习必备教程,值得大家拿来参考学习,希望能对大家有帮助哈!

关注我后,私信我“Java”会自动回复下载。

,