提纲
• HotSpot
• ClassFile
• ClassLoader
• 内存模型、锁、同步
• JVM内存管理和垃圾收集
HotSpot介绍
• Java发展历程
1995年,Sun发布Java 1.0,承诺:
Write Once,Run Anywhere
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三种执行模式
一些关于JIT的参数
Class文件格式
• Java编译执行流程
• ClassFile的格式介绍
• ClassFile中FieldInfo和MethodInfo介绍
• 类型描述Descriptor介绍
• ClassFile中的Attribute介绍
• JVM指令介绍
ClassLoader
• 各种ClassLoader介绍
• ClassLoader工作机制
• Thread.getContextClassLoader()
• Jar Hell问题以及解决办法
本文详细介绍Oracle的HotSpot JVM实现,包括其发展历程、架构特点、执行模式等,并对ClassFile格式、ClassLoader工作机制等内容进行了深入探讨。
510

被折叠的 条评论
为什么被折叠?



