CN102929699B - 一种Java虚拟机的垃圾回收方法及其监测系统 - Google Patents

一种Java虚拟机的垃圾回收方法及其监测系统 Download PDF

Info

Publication number
CN102929699B
CN102929699B CN201210384667.7A CN201210384667A CN102929699B CN 102929699 B CN102929699 B CN 102929699B CN 201210384667 A CN201210384667 A CN 201210384667A CN 102929699 B CN102929699 B CN 102929699B
Authority
CN
China
Prior art keywords
root
linked list
virtual machine
loop
java virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210384667.7A
Other languages
English (en)
Other versions
CN102929699A (zh
Inventor
田新华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baoxin Software Wuhan Co Ltd
Original Assignee
Wuhan Iron and Steel Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Iron and Steel Group Corp filed Critical Wuhan Iron and Steel Group Corp
Priority to CN201210384667.7A priority Critical patent/CN102929699B/zh
Publication of CN102929699A publication Critical patent/CN102929699A/zh
Application granted granted Critical
Publication of CN102929699B publication Critical patent/CN102929699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及垃圾回收方法及监测系统技术领域,公开了一种Java虚拟机的垃圾回收方法及其监测系统。该方法包括先判断Java虚拟机的根集是否为空;若根集为空,则所有对象达到了回收标准;否则对对象A进行判断;具体方法为:先判断以对象A为链表头的引用链表下是否有对象;若引用链表下无对象,则说明对象A达到了回收标准;若引用链表下有对象B,则通过对象B来判断对象A是否能够被根集中的对象引用;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。本发明可以对循环引用中的Java程序中的垃圾数据进行高效回收。

Description

一种Java虚拟机的垃圾回收方法及其监测系统
技术领域
本发明涉及垃圾回收方法及监测系统技术领域,主要适用于Java虚拟机的垃圾回收方法及其监测系统。
背景技术
目前Java虚拟机中的垃圾回收方法有两种:第一是引用计数法;第二是跟踪回收法。
对于引用计数法,是通过计算对象的被引用次数来判断该对象是否达到了回收的标准。该方法的弊端有:1.不适用于循环引用的情况。若对象C只被对象D引用,而对象D只被对象C引用,则对象C和对象D的被引用次数均为1。按照此方法的回收标准来说,对象C和对象D都不符合垃圾回收的标准,但Java虚拟机无法访问到对象C和对象D,对象C和对象D都需要被回收。2.对被引用计数的维护开销较大。需要对每个对象的被引用次数进行计数并进行加减运算。
对于跟踪回收法,是通过遍历判断哪些对象可达,哪些对象不可达来确定回收的对象。跟踪回收法的弊端为:效率较低,导致当前执行程序暂停时间较长。在进行垃圾回收时,当前执行的程序需暂停执行。每次都需要遍历根集下的所有对象,会导致Java虚拟机中当前运行的程序暂停时间较长。若要提高当前程序的运行效率,有两种方法:一、当垃圾回收线程在运行时,当前运行程序照常执行(CPU为单核时并发执行,CPU为多核时并行执行)。但是这种方法使得当垃圾回收线程在运行时,当前运行程序会产生新的对象及垃圾对象,从而导致垃圾回收线程变得异常复杂。因为当当前运行程序产生新的对象或垃圾对象时,都会导致垃圾回收线程之前的工作成果变得无效而需要从头开始运行。二、可以多线程执行垃圾回收,这样便缩短了垃圾回收的执行时间,从而将当前执行程序的暂停时间缩短。但此种方法有一个问题需解决,那就是多线程间的信息共享,如哪些对象可达,哪些对象不可达,Java虚拟机中有哪些对象等等。这样又将导致垃圾回收算法复杂度加大。
Java虚拟机是由软件虚拟出来的运行在实体计算机上的“机器”,而Java程序就运行在Java虚拟机上。运用引用计数法或跟踪回收法进行垃圾回收时,会有部分垃圾数据无法被回收或回收不及时,从而会导致Java虚拟机的内存空间被大量占用。而Java虚拟机又是运行在实体计算机上的,其内存为实体机内存的一部分,故无法被回收或回收不及时的垃圾数据会占用实体机的内存空间。若实体机的内存空间较小,则未被回收或回收不及时的垃圾数据会导致实体机的内存不够用,从而会降低实体机的运行效率。
另外,由于Java应用程序在生产环境中与开发、测试环境不一致,常常导致Java应用程序在开发或测试环境中不会出现的问题在生产环境中出现,如内存泄漏、死循环导致的内存溢出错误。
发明内容
本发明所要解决的技术问题是提供Java虚拟机的垃圾回收方法及其监测系统,它一方面可以对循环引用中的Java程序中的垃圾数据进行高效回收,从而保证了Java虚拟机所在的实体计算机的运行效率;另一方面可以对Java虚拟机中的垃圾回收情况进行监控,能够了解到Java虚拟机中的垃圾回收线程的运行情况及Java虚拟机的内存情况,以便能更直接、更准确地解决Java虚拟机中所存在的问题,从而提高Java虚拟机的运行效率,进而保证Java虚拟机所在的实体计算机的运行效率。
为解决上述技术问题,本发明提供了一种Java虚拟机的垃圾回收方法包括:
先判断Java虚拟机的根集是否为空;
若所述根集为空,则所有对象达到了回收标准;否则对对象A进行判断;具体方法为:
先判断以所述对象A为链表头的引用链表下是否有对象;
若所述引用链表下无对象,则说明对象A达到了回收标准;
若引用链表下有对象B,则通过所述对象B来判断对象A是否能够被根集中的对象引用;
若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;
若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
进一步地,所述通过对象B来判断对象A是否能够被根集中的对象引用包括:先判断对象B是否存在于根集中;若所述对象B在根集中,则说明对象B没有达到回收标准,故对象A也没有达到回收标准;否则接着判断对象B是否存在于链表头中,若对象B不在链表头中,则说明对象B没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象C进行判断;若对象B在链表头中,则以对象A为回路对象递归遍历以对象B为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
进一步地,在所述以对象A为回路对象递归遍历以对象B为链表头的引用链表之前,先判断对象B是否为回路对象;
若所述对象B是回路对象,则说明对象B所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象C进行判断;
若对象B不是回路对象,则以所述对象A为回路对象递归遍历以对象B为链表头的引用链表。
进一步地,在所述继续对以链表头为对象A的引用链表中的下一个对象C进行判断包括:先判断所述的下一个C对象是否为空;
若下一个对象C为空,即下一个对象C不存在,则说明对以对象A为链表头的引用链表遍历完毕,而对象A不能被根集中的对象引用,故对象A达到了回收标准;
若下一个对象C不为空,则先判断下一个对象C是否存在于根集中;若下一个对象C在根集中,则说明下一个对象C没有达到回收标准,故对象A也没有达到回收标准;否则接着判断下一个对象C是否存在于链表头中,若下一个对象C不在链表头中,则说明下一个对象C没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C在链表头中,先判断下一个对象C是否为回路对象;若下一个对象C是回路对象,则说明下一个对象C所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C不是回路对象,则以对象A为回路对象递归遍历以下一个对象C为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
本发明还提供了一种Java虚拟机的垃圾回收方法的监测系统包括:输入设备、控制器、存储器及通讯组件;所述输入设备和所述存储器各自分别与所述控制器连接;控制器通过所述通讯组件与Java虚拟机连接。
进一步地,还包括:运算器;所述运算器分别与所述存储器、所述控制器连接。
进一步地,还包括:显示设备;所述显示设备与所述控制器连接。
本发明的有益效果在于:
本发明的提供Java虚拟机的垃圾回收方法及其监测系统在一方面可以对循环引用中的Java程序中的垃圾数据进行高效回收,从而保证了Java虚拟机所在的实体计算机的运行效率;另一方面可以对Java虚拟机中的垃圾回收情况进行监控,能够了解到Java虚拟机中的垃圾回收线程的运行情况及Java虚拟机的内存情况,以便能更直接、更准确地解决Java虚拟机中所存在的问题,从而提高Java虚拟机的运行效率,进而保证Java虚拟机所在的实体计算机的运行效率。本发明结构合理、效果显著、实用性强。
附图说明
图1为本发明提供的Java虚拟机的垃圾回收方法的流程图。
图2为本发明提供的Java虚拟机的垃圾回收方法的监测系统的结构框图。
具体实施方式
为进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的Java虚拟机的垃圾回收方法及其监测系统的具体实施方式及工作原理进行详细说明。
由图1可知,本发明提供的Java虚拟机的垃圾回收方法包括:
先判断Java虚拟机的根集是否为空;
若根集为空,则所有对象达到了回收标准;否则对Java虚拟机中的对象A进行判断;具体方法为:
先判断以对象A为链表头的引用链表下是否有对象,即对象A对应的引用链表是否为空;
若引用链表下无对象,则说明对象A达到了回收标准;
若引用链表下有对象B,则通过对象B来判断对象A是否能够被根集中的对象引用;具体方法为:
先判断对象B是否存在于根集中;
若对象B在根集中,则说明对象B没有达到回收标准,故对象A也没有达到回收标准;
若对象B不在根集中,再判断对象B是否存在于链表头中;若对象B不在链表头中,则说明对象B没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象C进行判断;具体的,先判断的下一个C对象是否为空;若下一个对象C为空,即下一个对象C不存在,则说明对以对象A为链表头的引用链表遍历完毕,而对象A不能被根集中的对象引用,故对象A达到了回收标准;若下一个对象C不为空,则先判断下一个对象C是否存在于根集中;若下一个对象C在根集中,则说明下一个对象C没有达到回收标准,故对象A也没有达到回收标准;否则接着判断下一个对象C是否存在于链表头中,若下一个对象C不在链表头中,则说明下一个对象C没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C在链表头中,先判断下一个对象C是否为回路对象;若下一个对象C是回路对象,则说明下一个对象C所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C不是回路对象,则以对象A为回路对象递归遍历以下一个对象C为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
若对象B在链表头中,先判断对象B是否为回路对象;若对象B是回路对象,则说明对象B所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象C进行判断;具体的,先判断的下一个C对象是否为空;若下一个对象C为空,即下一个对象C不存在,则说明对以对象A为链表头的引用链表遍历完毕,而对象A不能被根集中的对象引用,故对象A达到了回收标准;若下一个对象C不为空,则先判断下一个对象C是否存在于根集中;若下一个对象C在根集中,则说明下一个对象C没有达到回收标准,故对象A也没有达到回收标准;否则接着判断下一个对象C是否存在于链表头中,若下一个对象C不在链表头中,则说明下一个对象C没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C在链表头中,先判断下一个对象C是否为回路对象;若下一个对象C是回路对象,则说明下一个对象C所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C不是回路对象,则以对象A为回路对象递归遍历以下一个对象C为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。若对象B不是回路对象,则以对象A为回路对象递归遍历以对象B为链表头的引用链;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
本发明提供的Java虚拟机的垃圾回收方法的监测系统,包括:输入设备、控制器、运算器、存储器、显示设备及通讯组件;输入设备、运算器、显示设备及存储器各自分别与控制器连接;运算器还与存储器连接;控制器通过通讯组件与目标Java虚拟机连接。
具体的,由图2可知,输入设备通过I/O接口电路与数据总线连接,以输入数据;通过I/O接口电路与控制总线相连,以接受控制器的控制信号。
显示设备通过I/O接口电路与数据总线连接,以输出数据;通过I/O接口电路与控制总线相连,以接受控制器的控制信号。
运算器直接与数据总线相连,既可接受数据,又可输出数据;又与地址总线相连,以通过地址总线找到地址对应的数据。
控制器与数据总线、地址总线及控制总线相连。从数据总线可以接受数据;从地址总线可以找到地址对应数据;从控制总线可以发出控制信号到其他部件。
存储器与数据总线、地址总线及控制总线相连。从数据总线既可以输入数据,也可以输出数据;从地址总线,可以接受按地址查询数据的请求;从控制总线可以接受控制信号。
通讯组件与数据总线、控制总线相连。从数据总线可得到数据,也可以输出数据到数据总线;从控制总线可以接受发出通讯的控制信号。
通过本发明提供的Java虚拟机的垃圾回收方法对Java虚拟机中的垃圾进行回收,首先判断Java虚拟机的根集是否为空;若根集为空,则所有对象达到了回收标准;否则对Java虚拟机中的对象A进行判断;具体方法为:先判断以对象A为链表头的引用链表下是否有对象;若引用链表下无对象,则说明对象A达到了回收标准;若引用链表下有对象B,则通过对象B来判断对象A是否能够被根集中的对象引用;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。通过此方法,可以判断Java虚拟机中的其他对象是否达到回收标准。
通过本发明提供的Java虚拟机的垃圾回收方法的监测系统可以对Java虚拟机的垃圾回收情况进行监控,以查询Java虚拟机中的根集为例。首先用户通过输入设备输入要查询目标Java虚拟机中根集的指令;查询指令到达控制器后,控制器对接收到的指令进行解析。再通过通讯组件将查询指令发送到目标Java虚拟机,再得到由目标Java虚拟机返回的数据。控制器再通过显示设备将目标Java虚拟机的根集情况显示出来。需要说明的是,若由目标Java虚拟机返回的数据需要做进一步处理时,控制器先将返回的数据放置在存储器中,再命令运算器对存储器中的数据进行运算,从而得出结果数据,再将得到的结果数据返回到控制器,并通过显示设备显示出来。
通过本发明提供的Java虚拟机的垃圾回收方法的监控系统可以远程监控Java虚拟机中存在的根集、所有对象、所有对象的引用链表,由此可知哪些对象是应该回收但没有回收的,从而优化程序代码,进而避免了内存泄漏的情况;另外,若Java虚拟机发生内存溢出错误,可以通过返回的数据信息发现是哪段程序代码出现了问题,再修改漏洞,从而提高了Java虚拟机的运行效率,进而能够保证Java虚拟机所在的实体计算机的运行效率。
本发明提供的Java虚拟机的垃圾回收方法一方面不考虑Java虚拟机中的死循环回路的情况,再通过对Java虚拟机中的对象的引用链表进行递归遍历来判断Java虚拟机中的对象是否能被根集中的对象引用,从而得出Java虚拟机中的对象是否达到回收标准的结论,实现了对循环引用中的垃圾数据的回收;另一方面,本发明通过先判断对象的引用链表是否为空,可处理大部分情况,而后再对循环引用及长引用的情况进行处理,这样不需要每次对所有对象进行遍历,从而提高了Java虚拟机中垃圾回收的效率,从而提高了Java虚拟机的运行效率,进而保证了Java虚拟机所在的实体计算机的运行效率。
本发明提供的Java虚拟机的垃圾回收方法的监测系统可以对Java虚拟机中的垃圾回收情况进行监控,能够了解到Java虚拟机中的垃圾回收线程的运行情况及Java虚拟机的内存情况,以便能更直接、更准确地解决Java虚拟机中所存在的问题,从而提高Java虚拟机的运行效率,进而保证了Java虚拟机所在的实体计算机的运行效率。本发明结构合理、效果显著、实用性强。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1.一种Java虚拟机的垃圾回收方法,其特征在于,包括:
先判断Java虚拟机的根集是否为空;
若所述根集为空,则所有对象达到了回收标准;否则对对象A进行判断;具体方法为:
先判断以所述对象A为链表头的引用链表下是否有对象;
若所述引用链表下无对象,则说明对象A达到了回收标准;
若引用链表下有对象B,则通过所述对象B来判断对象A是否能够被根集中的对象引用;
若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;
若对象A不能被根集中的对象引用,则说明对象A达到了回收标准;
其中,所述通过对象B来判断对象A是否能够被根集中的对象引用包括:先判断对象B是否存在于根集中;若所述对象B在根集中,则说明对象B没有达到回收标准,故对象A也没有达到回收标准;否则接着判断对象B是否存在于链表头中,若对象B不在链表头中,则说明对象B没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象C进行判断;若对象B在链表头中,则以对象A为回路对象递归遍历以对象B为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
2.如权利要求1所述的Java虚拟机的垃圾回收方法,其特征在于,在所述以对象A为回路对象递归遍历以对象B为链表头的引用链表之前,先判断对象B是否为回路对象;
若所述对象B是回路对象,则说明对象B所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象C进行判断;
若对象B不是回路对象,则以所述对象A为回路对象递归遍历以对象B为链表头的引用链表。
3.如权利要求2所述的Java虚拟机的垃圾回收方法,其特征在于,在所述继续对以链表头为对象A的引用链表中的下一个对象C进行判断包括:先判断所述的下一个C对象是否为空;
若下一个对象C为空,即下一个对象C不存在,则说明对以对象A为链表头的引用链表遍历完毕,而对象A不能被根集中的对象引用,故对象A达到了回收标准;
若下一个对象C不为空,则先判断下一个对象C是否存在于根集中;若下一个对象C在根集中,则说明下一个对象C没有达到回收标准,故对象A也没有达到回收标准;否则接着判断下一个对象C是否存在于链表头中,若下一个对象C不在链表头中,则说明下一个对象C没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C在链表头中,先判断下一个对象C是否为回路对象;若下 一个对象C是回路对象,则说明下一个对象C所在的引用回路为死循环,再对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C不是回路对象,则以对象A为回路对象递归遍历以下一个对象C为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
4.如权利要求2所述的Java虚拟机的垃圾回收方法,其特征在于,在所述继续对以链表头为对象A的引用链表中的下一个对象C进行判断包括:先判断所述的下一个C对象是否为空;
若下一个对象C为空,即下一个对象C不存在,则说明对以对象A为链表头的引用链表遍历完毕,而对象A不能被根集中的对象引用,故对象A达到了回收标准;
若下一个对象C不为空,则先判断下一个对象C是否存在于根集中;若下一个对象C在根集中,则说明下一个对象C没有达到回收标准,故对象A也没有达到回收标准;否则接着判断下一个对象C是否存在于链表头中,若下一个对象C不在链表头中,则说明下一个对象C没有被任何对象引用;并继续对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C在链表头中,先判断下一个对象C是否为回路对象;若下一个对象C是回路对象,则说明下一个对象C所在的引用回路为死循环, 再对以链表头为对象A的引用链表中的下一个对象D进行判断;若下一个对象C不是回路对象,则以对象A为回路对象递归遍历以下一个对象C为链表头的引用链表;若对象A能被根集中的对象引用,则说明对象A没有达到回收标准;若对象A不能被根集中的对象引用,则说明对象A达到了回收标准。
5.一种基于如权利要求1-4中任意一项所述的Java虚拟机的垃圾回收方法的监测系统,其特征在于,包括:输入设备、控制器、存储器、运算器、显示设备及通讯组件;所述输入设备和所述存储器各自分别与所述控制器连接;所述运算器分别与所述存储器、所述控制器连接;所述显示设备与所述控制器连接;控制器通过所述通讯组件与Java虚拟机连接;首先用户通过输入设备输入要查询目标Java虚拟机中根集的指令;查询指令到达控制器后,控制器对接收到的指令进行解析;再通过通讯组件将查询指令发送到目标Java虚拟机,再得到由目标Java虚拟机返回的数据;控制器再通过显示设备将目标Java虚拟机的根集情况显示出来;若由目标Java虚拟机返回的数据需要做进一步处理时,控制器先将返回的数据放置在存储器中,再命令运算器对存储器中的数据进行运算,从而得出结果数据,再将得到的结果数据返回到控制器,并通过显示设备显示出来。
CN201210384667.7A 2012-10-10 2012-10-10 一种Java虚拟机的垃圾回收方法及其监测系统 Active CN102929699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210384667.7A CN102929699B (zh) 2012-10-10 2012-10-10 一种Java虚拟机的垃圾回收方法及其监测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210384667.7A CN102929699B (zh) 2012-10-10 2012-10-10 一种Java虚拟机的垃圾回收方法及其监测系统

Publications (2)

Publication Number Publication Date
CN102929699A CN102929699A (zh) 2013-02-13
CN102929699B true CN102929699B (zh) 2015-06-10

Family

ID=47644508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210384667.7A Active CN102929699B (zh) 2012-10-10 2012-10-10 一种Java虚拟机的垃圾回收方法及其监测系统

Country Status (1)

Country Link
CN (1) CN102929699B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804337A (zh) * 2017-05-04 2018-11-13 华为技术有限公司 内存垃圾回收的方法、装置及计算机存储介质
CN107562616A (zh) * 2017-07-21 2018-01-09 中国科学院信息工程研究所 一种uaf漏洞利用判断方法及装置
CN107506136B (zh) * 2017-08-07 2020-07-07 成都华为技术有限公司 一种垃圾回收的方法和装置
CN107766155A (zh) * 2017-10-23 2018-03-06 北京京东尚科信息技术有限公司 对象处理方法及系统
CN109597584B (zh) * 2018-12-04 2022-03-08 浪潮电子信息产业股份有限公司 一种固态硬盘垃圾回收管理方法、装置及设备
CN111736980B (zh) * 2019-03-25 2024-01-16 华为技术有限公司 一种内存管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1652094A1 (en) * 2003-08-01 2006-05-03 Intel Corporation Method and apparatus for improving the performance of garbage collection using stack trace cache
CN101046755A (zh) * 2006-03-28 2007-10-03 郭明南 一种计算机自动内存管理的系统及方法
CN102411513A (zh) * 2011-08-10 2012-04-11 复旦大学 一种工作于混合模式执行引擎中的垃圾收集方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615143B (zh) * 2008-06-27 2013-04-17 国际商业机器公司 用于内存泄漏诊断的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1652094A1 (en) * 2003-08-01 2006-05-03 Intel Corporation Method and apparatus for improving the performance of garbage collection using stack trace cache
CN101046755A (zh) * 2006-03-28 2007-10-03 郭明南 一种计算机自动内存管理的系统及方法
CN102411513A (zh) * 2011-08-10 2012-04-11 复旦大学 一种工作于混合模式执行引擎中的垃圾收集方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的增量式JVM垃圾收集算法;张嗜军等;《计算机工程》;20120131;第38卷(第1期);71-73 *

Also Published As

Publication number Publication date
CN102929699A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102929699B (zh) 一种Java虚拟机的垃圾回收方法及其监测系统
US8862938B2 (en) System, method, and apparatus for resolving errors in a system
Popa et al. DryadInc: Reusing Work in Large-scale Computations.
CN102136047A (zh) 一种基于形式化及统一软件模型的软件可信工程方法
CN103955448B (zh) 一种抗单粒子翻转的fft加固设计方法
CN101373450B (zh) 处理cpu异常的方法及系统
CN103220180A (zh) 一种OpenStack云平台异常的处理方法
CN106940671B (zh) 一种集群中任务线程运行的监控方法、装置及系统
CN104778185A (zh) 异常结构化查询语言sql语句确定方法及服务器
CN103118100A (zh) 一种提高虚拟机应用的可用性的保障方法及系统
CN110134517A (zh) 一种基于公式解析的并行计算方法及装置
CN105095523A (zh) 一种处理告警事件的方法及系统
CN107977504A (zh) 一种非对称堆芯燃料管理计算方法、装置及终端设备
CN101808015A (zh) 一种告警信息相关性的分析方法和装置
CN104536893A (zh) 一种批量处理程序容报错处理方法及装置
CN105467973A (zh) 一种下位机故障监测及处理方法
CN107092551A (zh) 一种服务器系统性能优化方法及装置
CN116361205A (zh) 数据处理装置、确定张量存储地址的方法、设备和介质
CN115604086A (zh) 监控报警故障自愈方法、装置、设备、介质和程序产品
CN114756602A (zh) 实时流式的流程挖掘方法和系统及计算机可读存储介质
CN102981856B (zh) 基于网络的程序计算结果存储与检索方法及系统
CN105446822B (zh) 基于Linux的软件异常处理系统及方法
LU et al. Parallel instance recovery method based on multi-thread
CN112882719B (zh) 一种编译方法、装置、设备及存储介质
CN103051473A (zh) 一种网络运维保障效果仿真方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171212

Address after: 430000 middle steel safety and Environmental Protection Research Institute, 1244 Peace Avenue, Qingshan District, Wuhan, Hubei

Patentee after: Wuhan Wugang Information System Co., Ltd.

Address before: 430080 Friendship Avenue, Hubei, Wuhan, No. 999

Patentee before: Wuhan Iron & Steel (Group) Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190227

Address after: 430084 Steel Valley Building, Worker's Village, Qingshan District, Wuhan City, Hubei Province

Patentee after: Wuhan Steel Engineering Technology Group Communication Co., Ltd.

Address before: 430000 China Steel Institute of Safety and Environmental Protection, 1244 Peace Avenue, Qingshan District, Wuhan City, Hubei Province

Patentee before: Wuhan Wugang Information System Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 430084 floor 15-22, building 4, Wuhan International Steel Logistics Service Center (Ganggu), Qingshan Town, Qingshan District, Wuhan City, Hubei Province

Patentee after: Baoxin software (Wuhan) Co., Ltd

Address before: 430084, No. 4, steel Valley, Worker Village, Qingshan District, Hubei, Wuhan

Patentee before: Wuhan Steel Engineering Technology Group Communication Co., Ltd.