Java HotSpot性能引擎的体系结构(4)

使用本地操作系统的线程和调度机制的一个主要优点是,它能够透明地利用本地操作系统支持多重处理。由于Java HotSpot性能引擎被设计为对在执行Java编程语言代码时的抢先和/或多重处理引起的竞争状态是不敏感的,因而Java编程语言线程将自动利用由本地操作系统所提供的任意调度机制和处理器分配策略。
5. 内存垃圾回收
5.1 背景说明
Java编程语言对程序员的一个主要魅力在于,它是第一个可提供内置自动内存管理(或内存垃圾回收)的主流编程语言。在传统语言中,一般都使用显式分配/释放模型来进行动态内存分配。事实证明, 这不仅是造成内存泄漏、程序错误以及用传统语言编写的程序崩溃的最主要原因之一,而且还是提高性能的瓶颈, 并且是形成模块化和可再使用代码的主要障碍(如果没有显式和难以理解的模块间的协同操作,在模块界限间确定释放点有时几乎是不可能的)。在Java编程语言中,垃圾回收也是支持安全性模型所必需的所谓"安全地"执行这一语义的重要组成部分。
当一个垃圾回收器能够"证明"某个对象对正在运行的程序来说是不可访问的时候,它仅通过回收该对象就可自动地在后台处理对该对象的内存的"释放"。这种自动的处理过程不仅完全消除了由于释放太少而引起的内存泄漏,同时也消除了由于释放太多而引起的程序崩溃和难以发现的引用错误。
从传统上讲,相对于显式释放模型来说, 垃圾回收一直被认为是一种没有效率且会引起性能下降的处理过程。事实上,使用现代垃圾回收技术,可大大改善性能,且这种性能实际上要比由显式释放所提供的性能好得多。
5.2 Java HotSpot垃圾回收器
Java HotSpot性能引擎具有一个先进的垃圾回收器,它除了包含以下将要描述的先进技术特性外,还充分利用了简洁和面向对象的设计优势,提供了一个高层次的垃圾收集结构框架,这个框架可被轻松地配置、使用或扩展以使用新的回收算法。
以下将介绍Java HotSpot垃圾回收器的的主要特性。总体来讲,所用各种技术的综合结果无论是对需要尽可能高的性能的应用程序来说,还是对不期望有由于碎片而引起内存泄漏和内存不可访问的长时运行应用程序来说,都是较好的。Java HotSpot性能引擎不仅能够提供具有最新技术水平的垃圾回收器性能,而且可以保证全部内存回收,并完全消除内存碎片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值