A-JVM-Does-What-Cliff Click.pdf
A JVM Does That??? A JVM Does That???是 Cliff Click 在 Azul Systems 博客上分享的一篇技术文档,讨论了 JVM 的服务和功能。本文档中,Cliff Click 作为一名经验丰富的 JVM 工程师,对 JVM 的服务和功能进行了详细的介绍和分析。 JVM 服务 JVM 提供了许多服务,包括: 1. 高质量的垃圾回收(High Quality GC):JVM 的垃圾回收机制能够高效地回收内存,减少内存泄露和崩溃的风险。 2. 并发、并行收集(Parallel, Concurrent, Collection):JVM 的收集机制能够并发地执行垃圾回收,提高系统的响应速度和吞吐量。 3. 低总分配成本(Low total allocation cost):JVM 的内存分配机制能够尽量减少内存分配的成本,提高系统的性能。 4. 高质量的机器代码生成(High Quality Machine Code Generation):JVM 的 JIT 编译器能够生成高质量的机器代码,提高系统的执行效率。 5. 两个 JIT 编译器(Two JITs, JIT'd Code Management, Profiling):JVM 的 JIT 编译器能够生成高质量的机器代码,提高系统的执行效率。 6. 字节码成本模型(Bytecode cost model):JVM 的字节码成本模型能够对代码的执行成本进行评估,帮助开发者优化代码的性能。 7. 统一线程和内存模型(Uniform Threading & Memory Model):JVM 的统一线程和内存模型能够简化多线程编程,提高系统的可靠性和安全性。 8. 锁、volatile、wait、notify(Locks, volatile, wait, notify):JVM 的锁机制能够确保多线程的安全和正确性。 9. 类型安全(Type Safety):JVM 的类型安全机制能够确保代码的正确性和安全性。 JVM 的演进 JVM 的服务和功能是逐渐添加的,主要来自于语言、JVM 和硬件的共同演进。例如,finalizers、JMM、64 位系统的支持等都是逐渐添加的。这些服务和功能的添加是为了满足开发者的需求和提高系统的性能。 为什么添加这些服务? JVM 添加这些服务的原因是为了提供一个“虚拟”的抽象层,讓开发者能够专注于业务逻辑的实现,而不需要关心底层的实现细节。这些服务使得开发者能够更方便地编写代码、提高系统的性能和可靠性。 幻觉 JVM 的服务和功能也带来了许多幻觉,例如: 1. 无限内存幻觉(Illusion: Infinite Memory):垃圾回收机制使得开发者不需要手动释放内存,提高了代码的可读性和可维护性。 2. 高质量的垃圾回收幻觉(Illusion: High Quality GC):JVM 的垃圾回收机制能够高效地回收内存,减少内存泄露和崩溃的风险。 JVM 的服务和功能能够帮助开发者更方便地编写代码、提高系统的性能和可靠性。
剩余41页未读,继续阅读
- 粉丝: 1666
- 资源: 598
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助