共查询到20条相似文献,搜索用时 46 毫秒
1.
垃圾收集器(Garbage Collector,GC)是现代软件虚拟机技术的重要组成部分,其设计方案对运行于虚拟机上的应用程序性能影响极大。Java虚拟机(JVM)与.net framework都提供了这一功能。下面我们简单介绍一下Java虚拟机中的垃圾收集器原理。 相似文献
2.
本文分析了JVM垃圾收集器所使用的多种收集算法,讨论如何通过命令行参数和终止化方法,透视JAVA自动垃圾收集器的运行,以理解JVM垃圾自动回收机制.程序开发人员应当使用finalize方法明确释放对象资源,并通过GC请求JVM执行垃圾收集,使得JVM尽可能多地回收内存供程序使用. 相似文献
3.
阐述了JVM垃圾收集的机制、原理,着重分析了JVM垃圾收集机制可能对系统性能带来的负面影响,最后给出了相应的Java编码建议。 相似文献
4.
设计一种基于即时编译器辅助的并行垃圾收集器,在编译阶段利用即时编译器安插显式内存回收指令释放无用对象空间,结合自动和显式内存管理的优点,减轻程序员和垃圾收集器的负担,同时提高内存空间的利用率,支持显式对象回收操作,且可以有效重用这些对象空间,从而提高Java应用程序的执行效率,实验结果表明,该设计方案是可行的。 相似文献
5.
随着越来越多的服务器程序采用Java技术,例如电信网管系统,服务器程序往往长期运行,因此Java的内存泄漏问题不容忽视。否则即使有少量泄漏,长期运行之后,系统将会面临崩溃的危险。文章通过分析Java内存回收机制的原理和内存泄漏的原因,提出了预防和检测内存泄漏的办法。 相似文献
6.
垃圾收集器是Jaya虚拟机(JVW)的核心组成部分之一,对Java虚拟机的性能有非常重要的影响。本文将介绍GC的工作原理以及对象回收算法,重点介绍JVM的分段回收技术;剖析JVM自带的GC性能分析工具;阐述如何通过命令行参数调节GC的运行,提高GC的效率。 相似文献
7.
Java语言中,内存空间的回收工作由垃圾收集器(Garbage Collector,GC)完成,这种方法减少了一些应用程序中发生内存泄露的可能性.但GC的工作机制并不完善,仍然存在内存泄露问题:本文针对此问题进行研究分析,并指出了问题产生的原因和改进的方法。 相似文献
8.
内存泄漏是软件开发过程中最令人棘手的问题之一。通常,使用垃圾收集机制自动进行内存管理,以减轻程序员的负担。通过研究智能指针以及现有垃圾收集机制的工作原理,本文首先设计出一个基于c++智能指针的垃圾收集器。实验结果表明,该垃圾收集器不仅满足了应用程序的要求,且具有良好的可扩展性。对于使用c++等保守式程序设计语言进行大型软件的开发而言,该垃圾收集器具有一定的理论价值和实用价值。 相似文献
9.
Patrick Dussud是.NET垃圾收集机制的创始人、微软著名架构师,跟随他进行这段技术之旅,相信会解开我们心中不少的困惑。 相似文献
10.
非增量式Java虚拟机(JVM)垃圾回收算法的内存开销较大。为此,提出一种基于栈式分配策略的JVM增量式垃圾收集算法。对Java栈帧进行改造使其支持存储对象,改进增量式收集器中堆空间的划分、引用跟踪方式,以减少垃圾收集带来的不确定性暂停。实验结果表明,该算法能有效减少暂停的频率和时长,提高运行速度。 相似文献
11.
Traditional mark and sweep garbage collectors use time proportional to the heap size when sweeping memory, since all objects in the heap, dead or alive, must be traversed. Here we introduce a sweeping algorithm which traverses only the live objects. Since this sweeping algorithm is slower when the heap occupancy is high, we also discuss how to avoid this slowdown by using an adaptive algorithm. Copyright © 2004 John Wiley & Sons, Ltd. 相似文献
13.
We present the verification of the machine-level implementation of a conservative variant of the standard mark- sweep garbage collector in a Hoare-style program logic.The specification of the collector is given on a machine-level memory model using separation logic,and is strong enough to preserve the safety property of any common mutator program.Our verification is fully implemented in the Coq proof assistant and can be packed immediately as foundational proof-carrying code package.Our work makes important attempt toward building fully certified production-quality garbage collectors. 相似文献
15.
Many of the current software systems rely on garbage collectors for automatic memory management. This is also the case for various software systems in real-time appli-cations. However, a real-time application often requires an incremental working style of the underlying garbage collection, which renders the garbage collector more complex and less trustworthy. We present a formal veriˉcation of the Yuasa incremental garbage collector in Hoare-style logic. The speciˉcation and proof of the collector are built on a concrete machine model and cover detailed behaviors of the collector which may lead to safety prob-lems but are often ignored in high-level veriˉcations. The work is fully implemented with the Coq proof assistant and can be packed as foundational proof-carrying-code packages.Our work makes an important step toward providing high-assurance garbage collection for mission-critical real-time systems. 相似文献
16.
该文通过一个基于Java3D技术的蛋白质分子可视化工具——HJMV,深入分析了用Java3D开发这类程序可能存在的性能问题,然后给出相应的解决方案,最后通过实验数据证明了HJMV满足了对性能的要求。 相似文献
17.
We report the improvement of a dynamic modulus model using a modified harmony search (MHS) algorithm to describe the resistance to rutting and fatigue cracking of asphalt concrete mixtures. The MHS algorithm was reformulated to improve the harmony search (HS) algorithm by introducing minimum and maximum bandwidths. Using the MHS algorithm, model parameters for lime-modified asphalt concrete mixtures were extracted and a good fit to the dynamic modulus data obtained from laboratory tests was achieved. 相似文献
18.
A widespread practice to implement a flexible array is to consider the storage area into two parts: the used area, which is already available for read/write operations, and the supply area, which is used in case of enlargement of the array. The main purpose of the supply area is to avoid as much as possible the reallocation of the whole storage area in case of enlargement. As the supply area is not used by the application, the main idea of the paper is to convey the information to the garbage collector, making it possible to avoid completely the marking of the supply area. We also present a simple method to analyze the types of objects, which are stored in an array as well as the possible presence of NULL values within the array. This allows us to better specialize the work of the garbage collector when marking the used area, and also, by transitivity, to improve overall results for type analysis of all expressions of the source code. After introducing several abstract data types, which represent the main arrays concerned by our technique (i.e., zero or variable indexing, circular arrays and hash maps), we measure its impact during the bootstrap of two compilers whose libraries are equipped with these abstract data types. We then measure, on various software products we have not written, the frequency of certain habits of manipulation of arrays, to assess the validity of our approach. Copyright © 2014 John Wiley & Sons, Ltd. 相似文献
19.
针对标准和声搜索(HS)算法易陷入局部最优、收敛精度不高的不足,提出了一种基于圆形信赖域(CTR)的新型和声搜索算法--CTRHS。该算法运用逐双音调一次性产生方式,在记忆思考环节交互式地采取面向圆形信赖域的集约化思考操作,在双音调微调环节利用当前和声记忆库中的最好或最差和声来确定微调带宽,并且以新生成和声直接替换当前和声记忆库中最差和声来实现和声记忆库的更新。通过在9种标准测试函数上对CTRHS算法进行实验验证和算法性能对比,结果表明CTRHS算法在解质量、收敛性能上优于文献中已报道的7种HS改进算法,且当和声记忆库规模(HMS)、和声记忆库思考率(HMCR)分别取5和0.99时,它能表现出更佳的全局优化性能。 相似文献
20.
The memory intensive nature of object-oriented languages such as C++ and Java has created the need of a high-performance dynamic memory management. Object-oriented applications often generate higher memory intensity in the heap region. Thus, high-performance memory manager is needed to cope with such applications. As today's VLSI technology advances, it becomes more and more attractive to map software algorithms such as malloc(), free(), realloc(), and garbage collection into hardware. This paper presents hardware designs of realloc function and sweeping function (for mark and sweep garbage collection) that fully utilize the advantages of combinational logic. In our scheme, the reallocation on the original block can be done in constant time. If the reallocation on the original block is not possible, the previously proposed malloc() and free() can be used to move the contents to a new location. For the sweeping function, the bit-sweeper can detect and sweep the garbage in constant time. Since the sweeping phase often consumes more time than the marking phase, the garbage collection time can be substantially improved. The hardware complexity of proposed scheme (i.e. X-Unit, RS-unit, ESG-unit, and bit-sweeper) is O(n), where n represents the size of bit-map. 相似文献
|