1. 介绍 JVM(Java Virtual Machine,Java 虚拟机)
JVM 是 Java Virtual Machine 的缩写, 通常成为 java 虚拟机, 作为 Java 可以进行一次编写, 到处执行 (Write once, run anywhere) 的平台基础, 由下图我们可以清晰理出他们的之间的关系, 我们可以把 Java 程序设计语言 Java 虚拟机 Java API 类库这三部分统称为 JDK(Java Development Kit),JDK 是支持 Java 程序开发的最小环境
1.1HotSpot VM
提到虚拟机我们不得不会想到 HotSpot VM, 它是 Sun JDK 和 OpenJDK 中所带的虚拟机, 也是目前使用最广的 Java 虚拟机它继承了 Sun 之前两款商用虚拟机的有点, 也有许多自己新的技术优势, 如它名称中 HotSpot 指的就是它的热点代码探测技术, 它这个能力可以通过执行计数器找出最具有编译价值的代码, 然后通知 JIT 编译器以方法为单位进行编译如果一个方法被频繁调用或方法中有效循环次数过多, 将会分别触发标准编译和 OSR(栈上替换) 编译动作通过编译器与解释器恰当地协同工作, 可以在最优化的程序响应时间与最佳执行性能中取得平衡, 而无需等待本地代码输出才会执行程序, 即时编译的时间压力也相对减小, 这样有助于引入更多的代码优化技术, 输出质量更高的本地代码
2. 自动内存管理机制
下面是对自动内存管理机制的总结, 我想最好的总结不是应该用文字, 而是用图片, 这是我用 XMind 总结这样还便于记忆
由于 Xmind 一张图片太大无法整张上传所以把图给切开了, 完整图片在 github 里 这是连接 https://github.com/a947000098/jvm/blob/master/one.png 精华都在图里这篇就这样 下一篇会出 GC 收集器的部分
来源: https://www.cnblogs.com/moster/p/8545458.html