三种JVM虚拟机
目前市面上普遍使用的JVM大致有三种
- Sun公司的HotSpot——绝大多数java开发者都用的是这款,绝对的主力
- Oracle公司的JRockit——这款主要用于金融和军事
- IBM公司的J9 VM——这款是IBM硬件绑定的,用户也很少
下文提到的JVM都是指HotSpot这款
JVM的体系结构
Java文件最终在JVM中执行,JVM运行在操作系统之上,它与硬件并没有直接的交互
简略版
(灰色区域为线程私有,不存在垃圾回收;深色区域为共享区域,存在垃圾回收)
堆的垃圾回收主要在伊甸区和养老区,回收内容是对象。方法区的垃圾回收是对(废弃常量和无用类),且当改类已不再被加载和使用时才能生效。
详细版