常用jvm
目前市面上普遍使用的JVM大致有三种
- Sun公司的HotSpot——绝大多数java开发者都用的是这款,绝对的主力
- Oracle公司的JRockit——这款主要用于金融和军事
- IBM公司的J9 VM——这款是IBM硬件绑定的,用户也很少
下面以HotSpot展开描述
体系结构
Java文件最终在JVM中执行,JVM运行在操作系统之上,它与硬件并没有直接的交互
(灰色区域为线程私有,不存在垃圾回收;深色区域为共享区域,存在垃圾回收)
本地方法栈
本地方法是线程私有的
本地方法(native method):凡是带了native关键字的,说明java的作用范围达不到,会通过native调用操作系统C语言的库
本地方法区:里面运行带native关键字的本地方法,并由执行引擎