天天看点

JVM基础 之温绍锦讲Java虚拟机基础

提纲

• HotSpot

• ClassFile

• ClassLoader

• 内存模型、锁、同步

• JVM内存管理和垃圾收集

HotSpot介绍

• Java发展历程

JVM基础 之温绍锦讲Java虚拟机基础
1995年,Sun发布Java 1.0,承诺:
Write Once,Run Anywhere      
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
HotSpot
• Oracle(SUN)的JVM实现
• 主要用C++实现
• 解析器和编译器混合执行模式
• 默认解析执行,对执行频率高(热点)
的代码做动态编译
• 2006年开源      

• OpenJDK

OpenJDK
• Sun在2006年11月13日把HotSpot及编译器通过GPL协
议开源,称为OpenJDK
• 这是自由软件社区的重要里程碑
• 加入OpenJDK的厂商包括:Oracle、IBM、Apple、SAP
• 支持的操作系统包括:Windows、Linux、Solaris、
BSD、MacOS、Haiku。
• 支持的硬件体系架构包括:x86、adm64、sparc、
PowerPC、mips、IA64、ARM      

HotSpot包括:

•一个ByteCode	Interpreter
•两个	JIT	Compiler:
•C1	(client编译器)
•轻量级
•编译时间更短	,占用内存少,适合GUI
•C2	(server编译器)
•重量级
•执行效率更高,大量编译优化,适合服务器
HotSpot包括:      

HotSpot三种执行模式

JVM基础 之温绍锦讲Java虚拟机基础

一些关于JIT的参数

JVM基础 之温绍锦讲Java虚拟机基础
Class文件格式
• Java编译执行流程
• ClassFile的格式介绍
• ClassFile中FieldInfo和MethodInfo介绍
• 类型描述Descriptor介绍
• ClassFile中的Attribute介绍
• JVM指令介绍      
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
ClassLoader
• 各种ClassLoader介绍
• ClassLoader工作机制
• Thread.getContextClassLoader()
•  Jar Hell问题以及解决办法      
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础
JVM基础 之温绍锦讲Java虚拟机基础

资源附件 JVM基础.pdf

继续阅读