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

来源:互联网 发布:mac注销appstore 编辑:程序博客网 时间:2024/06/05 12:58

提纲
• 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包括:

•一个ByteCodeInterpreter
•两个JITCompiler:
•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问题以及解决办法

 

 

 

 

资源附件

JVM基础.pdf

0 0
原创粉丝点击