CN112433809B - 一种jvm内存管理方法、装置、设备及可读存储介质 - Google Patents
一种jvm内存管理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112433809B CN112433809B CN202011224748.1A CN202011224748A CN112433809B CN 112433809 B CN112433809 B CN 112433809B CN 202011224748 A CN202011224748 A CN 202011224748A CN 112433809 B CN112433809 B CN 112433809B
- Authority
- CN
- China
- Prior art keywords
- jvm
- virtual reference
- memory
- memory management
- system type
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 114
- 238000007726 management method Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004140 cleaning Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 238000010926 purge Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004064 recycling Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本申请公开了一种JVM内存管理方法、装置、设备及可读存储介质。本申请公开的方法包括:若到达待清除对象的清除条件,则基于虚引用对象标记待清除对象;确定JVM的系统类型,并根据系统类型调用相应动态库,以获取虚引用对象和待清除对象的内存地址;删除虚引用对象和待清除对象,以释放内存地址。本申请依照清除条件清除虚引用对象和待清除对象,可及时回收JVM内存,保障有较多JVM内存可用,从而避免垃圾回收启动,也就是尽可能不让垃圾回收启动,因此可以降低垃圾回收对Java对象创建的影响,提高了JVM的处理性能。相应地,本申请提供的一种JVM内存管理装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种JVM内存管理方法、装置、设备及可读存储介质。
背景技术
由于Java语言的特性及系统间解耦的双重要求,JVM(Java Virtual Machine,Java虚拟机)在接收到报文后会通过JVM内的包装类进行数据封装。在该场景下,JVM就会承受大于原报文大小的对象缓存,如基础数据类型(int、long、byte等)到包装类型(Integer、Long、Byte)的增长(增加对象头大小,占用24byte),又如对原报文的接收封装类,同样也会造成引用对象头的成倍增长。
若Java对象在短时间内创建比较频繁,就很容易造成JVM内存不够用,故JVM的GC(Garbage Collection,垃圾回收)也会变的十分频繁。因为JVM内存不够用时,垃圾回收就会启动。而垃圾回收会占用CPU资源,影响Java对象的创建,因此导致JVM的处理性能降低。
因此,如何避免JVM频繁进行垃圾回收,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种JVM内存管理方法、装置、设备及可读存储介质,以避免JVM频繁进行垃圾回收。其具体方案如下:
第一方面,本申请提供了一种JVM内存管理方法,包括:
若到达待清除对象的清除条件,则基于虚引用对象标记所述待清除对象;
确定所述JVM的系统类型,并根据所述系统类型调用相应动态库,以获取所述虚引用对象和所述待清除对象的内存地址;
删除所述虚引用对象和所述待清除对象,以释放所述内存地址。
优选地,所述释放所述内存地址之后,还包括:
调用所述JVM中的内存整理线程整理内存碎片。
优选地,所述基于虚引用对象标记所述待清除对象之前,还包括:
构造能够接收任意类型对象的所述虚引用对象。
优选地,所述释放所述内存地址之后,还包括:
将所述待清除对象添加至引用队列。
优选地,所述内存地址包括:内存起始地址和偏移量。
优选地,所述根据所述系统类型调用相应动态库,包括:
若所述系统类型为Windows,则利用JNI或JNA调用dll库。
优选地,所述根据所述系统类型调用相应动态库,包括:
若所述系统类型为Linux,则利用JNI或JNA调用so库。
优选地,所述清除条件由用户根据程序运行逻辑预设。
第二方面,本申请提供了一种JVM内存管理装置,包括:
标记模块,用于若到达待清除对象的清除条件,则基于虚引用对象标记所述待清除对象;
执行模块,用于确定所述JVM的系统类型,并根据所述系统类型调用相应动态库,以获取所述虚引用对象和所述待清除对象的内存地址;
释放模块,用于删除所述虚引用对象和所述待清除对象,以释放所述内存地址。
第三方面,本申请提供了一种JVM内存管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的JVM内存管理方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的JVM内存管理方法。
通过以上方案可知,本申请提供了一种JVM内存管理方法,包括:若到达待清除对象的清除条件,则基于虚引用对象标记所述待清除对象;确定所述JVM的系统类型,并根据所述系统类型调用相应动态库,以获取所述虚引用对象和所述待清除对象的内存地址;删除所述虚引用对象和所述待清除对象,以释放所述内存地址。
可见,本申请为待清除对象设置了清除条件,若到达待清除对象的清除条件,则基于虚引用对象标记待清除对象;确定JVM的系统类型,并根据系统类型调用相应动态库,以获取虚引用对象和待清除对象的内存地址;删除虚引用对象和待清除对象,以释放内存地址。本申请依照清除条件清除虚引用对象和待清除对象,可及时回收JVM内存,保障有较多JVM内存可用,从而避免垃圾回收启动,也就是尽可能不让垃圾回收启动,因此可以降低垃圾回收对Java对象创建的影响,提高了JVM的处理性能。
相应地,本申请提供的一种JVM内存管理装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种JVM内存管理方法流程图;
图2为本申请公开的一种JVM内存管理系统示意图;
图3为本申请公开的一种JVM内存管理装置示意图;
图4为本申请公开的一种JVM内存管理设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,若Java对象在短时间内创建比较频繁,就很容易造成JVM内存不够用,故JVM的GC(Garbage Collection,垃圾回收)也会变的十分频繁。因为JVM内存不够用时,垃圾回收就会启动。而垃圾回收会占用CPU资源,影响Java对象的创建,因此导致JVM的处理性能降低。为此,本申请提供了一种JVM内存管理方案,能够避免JVM频繁进行垃圾回收。
参见图1所示,本申请实施例公开了一种JVM内存管理方法,包括:
S101、若到达待清除对象的清除条件,则基于虚引用对象标记待清除对象。
虚引用顾名思义,就是形同虚设,虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收。
虚引用主要用来跟踪对象被垃圾回收器回收的活动。虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之关联的引用队列中。以便后续要用该对象时,根据引用队列提示该对象已不存在。
在一种具体实施方式中,清除条件由用户根据程序运行逻辑预设。例如:在程序运行至第100行之后,某一对象就没有用了,那么该对象的清除条件即为程序运转至第100行。本申请中的对象均为Java对象。
在一种具体实施方式中,基于虚引用对象标记待清除对象之前,还包括:构造能够接收任意类型对象的虚引用对象。即:虚引用对象可以引用JVM中的任意类型的对象,从而及时清除任意类型的对象,以腾出内存地址。
在一种具体实施方式中,所述释放所述内存地址之后,还包括:将所述待清除对象添加至引用队列。引用队列用于记录已经被垃圾回收的对象。
S102、确定JVM的系统类型,并根据系统类型调用相应动态库,以获取虚引用对象和待清除对象的内存地址。
在一种具体实施方式中,内存地址包括:内存起始地址和偏移量。
在一种具体实施方式中,根据系统类型调用相应动态库,包括:若系统类型为Windows,则利用JNI或JNA调用dll库。
在一种具体实施方式中,根据系统类型调用相应动态库,包括:若系统类型为Linux,则利用JNI或JNA调用so库。
其中,dll库和so库中创建有获取内存地址的程序。
S103、删除虚引用对象和待清除对象,以释放内存地址。
在一种具体实施方式中,释放内存地址之后,还包括:调用JVM中的内存整理线程整理内存碎片,即:将内存碎片中的数据迁移到一起进行存储,从而使得未使用的内存地址连续,为JVM存储新对象提供帮助。
可见,本申请实施例为待清除对象设置了清除条件,若到达待清除对象的清除条件,则基于虚引用对象标记待清除对象;确定JVM的系统类型,并根据系统类型调用相应动态库,以获取虚引用对象和待清除对象的内存地址;删除虚引用对象和待清除对象,以释放内存地址。本申请依照清除条件清除虚引用对象和待清除对象,可及时回收JVM内存,保障有较多JVM内存可用,从而避免垃圾回收启动(即避免频繁GC),也就是尽可能不让垃圾回收启动,因此可以降低垃圾回收对Java对象创建的影响,提高了JVM的处理性能。
参见图2所示,本申请实施例公开了一种JVM内存管理系统,包括:声明装置、标记装置、触发装置及清理装置。其中,声明装置用于在JVM中声明创建虚引用对象;标记装置用于利用虚引用对象标记需要GC的对象;触发装置用于触发垃圾回收;清理装置用于清理虚引用对象和被标记对象的内存地址。
具体的,实现声明装置需要提供带参构造,声明虚引用PhantomRef,以接收任意形式的对象类型;创建后(由标记装置标记后,生命周期由此开始),之后可调用触发装置自动进入内存清理过程。
触发装置可以使用JNI或JNA技术,依据JVM的操作系统类型选择性对接native方法,所以该部分实现以下两点即可:1、编写native方法,由虚引用类构造方法直接调用。2、基于不同的系统类型,利用JNI或者JNA调用不用动态库,以对接动态库中的native方法。若操作系统类型为Windows,则调用dll库。若操作系统类型为Linux,则调用so库。
清理装置基于操作系统的不同,可分为不同的实现。如Windows系统下,需要提供dll库的方式。Linux系统下,需要提供so库的方式。但是无论什么形式的动态库,实现逻辑均为以下几点:
1、需要对接java虚引用类PhantomRef的路径,对接上native方法。
2、将虚引用对象和待清除对象的内存起始位置、偏移量获取到,将该内存片段下的占用全部释放。
3、调用虚拟机的内存整理线程整理内存碎片,将内存碎片中的数据迁移到一起进行存储,保证JVM内存的连续性,以便虚拟机能够较好的分配新对象的内存地址。
可见,本实施例可以及时回收JVM内存,能够应对短时间内创建有大量对象的场景,且保障有较多JVM内存可用,从而尽可能不让垃圾回收启动,因此可以降低垃圾回收对Java对象创建的影响,提高了JVM的处理性能。
下面对本申请实施例提供的一种JVM内存管理装置进行介绍,下文描述的一种JVM内存管理装置与上文描述的一种JVM内存管理方法可以相互参照。
参见图3所示,本申请实施例公开了一种JVM内存管理装置,包括:
标记模块301,用于若到达待清除对象的清除条件,则基于虚引用对象标记待清除对象;
执行模块302,用于确定JVM的系统类型,并根据系统类型调用相应动态库,以获取虚引用对象和待清除对象的内存地址;
释放模块303,用于删除虚引用对象和待清除对象,以释放内存地址。
在一种具体实施方式中,还包括:
整理模块,用于调用JVM中的内存整理线程整理内存碎片。
在一种具体实施方式中,还包括:
构造模块,用于构造能够接收任意类型对象的虚引用对象。
在一种具体实施方式中,内存地址包括:内存起始地址和偏移量。
在一种具体实施方式中,执行模块具体用于:
若系统类型为Windows,则利用JNI或JNA调用dll库。
在一种具体实施方式中,执行模块具体用于:
若系统类型为Linux,则利用JNI或JNA调用so库。
在一种具体实施方式中,清除条件由用户根据程序运行逻辑预设。
在一种具体实施方式中,还包括:
记录模块,用于将所述待清除对象添加至引用队列。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种JVM内存管理装置,该装置可及时回收JVM内存,保障有较多JVM内存可用,从而避免垃圾回收启动(即避免频繁GC),也就是尽可能不让垃圾回收启动,因此可以降低垃圾回收对Java对象创建的影响,提高了JVM的处理性能。
下面对本申请实施例提供的一种JVM内存管理设备进行介绍,下文描述的一种JVM内存管理设备与上文描述的一种JVM内存管理方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种JVM内存管理设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种JVM内存管理方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的JVM内存管理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种JVM内存管理方法,其特征在于,包括:
若到达待清除对象的清除条件,则基于虚引用对象标记所述待清除对象;
确定所述JVM的系统类型,并根据所述系统类型调用相应动态库,以获取所述虚引用对象和所述待清除对象的内存地址;
删除所述虚引用对象和所述待清除对象,以释放所述内存地址;
其中,所述基于虚引用对象标记所述待清除对象之前,还包括:
构造能够接收任意类型对象的所述虚引用对象。
2.根据权利要求1所述的JVM内存管理方法,其特征在于,所述释放所述内存地址之后,还包括:
调用所述JVM中的内存整理线程整理内存碎片。
3.根据权利要求1所述的JVM内存管理方法,其特征在于,所述释放所述内存地址之后,还包括:
将所述待清除对象添加至引用队列。
4.根据权利要求1至3任一项所述的JVM内存管理方法,其特征在于,所述根据所述系统类型调用相应动态库,包括:
若所述系统类型为Windows,则利用JNI或JNA调用dll库。
5.根据权利要求1至3任一项所述的JVM内存管理方法,其特征在于,所述根据所述系统类型调用相应动态库,包括:
若所述系统类型为Linux,则利用JNI或JNA调用so库。
6.根据权利要求1所述的JVM内存管理方法,其特征在于,所述清除条件由用户根据程序运行逻辑预设。
7.一种JVM内存管理装置,其特征在于,包括:
标记模块,用于若到达待清除对象的清除条件,则基于虚引用对象标记所述待清除对象;
执行模块,用于确定所述JVM的系统类型,并根据所述系统类型调用相应动态库,以获取所述虚引用对象和所述待清除对象的内存地址;
释放模块,用于删除所述虚引用对象和所述待清除对象,以释放所述内存地址;
其中,还包括:
构造模块,用于构造能够接收任意类型对象的所述虚引用对象。
8.一种JVM内存管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的JVM内存管理方法。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的JVM内存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224748.1A CN112433809B (zh) | 2020-11-05 | 2020-11-05 | 一种jvm内存管理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224748.1A CN112433809B (zh) | 2020-11-05 | 2020-11-05 | 一种jvm内存管理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433809A CN112433809A (zh) | 2021-03-02 |
CN112433809B true CN112433809B (zh) | 2023-12-22 |
Family
ID=74695488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224748.1A Active CN112433809B (zh) | 2020-11-05 | 2020-11-05 | 一种jvm内存管理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433809B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419864B (zh) * | 2021-07-16 | 2023-04-07 | 抖音视界有限公司 | 一种应用内存管理方法、装置、设备以及存储介质 |
US11972242B2 (en) | 2022-07-26 | 2024-04-30 | Red Hat, Inc. | Runtime environment optimizer for JVM-style languages |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9828334D0 (en) * | 1998-12-23 | 1999-02-17 | Ibm | Virtual machine memory management |
KR20050092639A (ko) * | 2004-03-16 | 2005-09-22 | 엘지전자 주식회사 | 이동 통신 단말기에서 자바 가상 머신의 메모리 관리 방법 |
CN101046755A (zh) * | 2006-03-28 | 2007-10-03 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
CN101221535A (zh) * | 2008-01-25 | 2008-07-16 | 中兴通讯股份有限公司 | Java虚拟机的垃圾回收移动通信终端及回收方法 |
CN108108089A (zh) * | 2016-11-24 | 2018-06-01 | 中国移动通信有限公司研究院 | 一种图片加载方法及装置 |
CN109933443A (zh) * | 2019-03-07 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 进程间通信方法、装置、计算机设备及可读存储介质 |
CN110752947A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种k8s集群部署方法及装置,一种部署平台 |
CN111399754A (zh) * | 2019-09-03 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 存储空间的释放方法、装置及分布式系统 |
CN111552616A (zh) * | 2020-04-30 | 2020-08-18 | 汉海信息技术(上海)有限公司 | 一种内存监听方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0212119D0 (en) * | 2002-05-25 | 2002-07-03 | Ibm | A method and system for the garbage collection of shared data |
US20050283771A1 (en) * | 2004-06-22 | 2005-12-22 | Nokia Corporation | System and method for decreasing the memory footprint of applications with automatic memory management systems |
-
2020
- 2020-11-05 CN CN202011224748.1A patent/CN112433809B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9828334D0 (en) * | 1998-12-23 | 1999-02-17 | Ibm | Virtual machine memory management |
US6912553B1 (en) * | 1998-12-23 | 2005-06-28 | International Business Machines Corporation | Virtual machine memory management |
KR20050092639A (ko) * | 2004-03-16 | 2005-09-22 | 엘지전자 주식회사 | 이동 통신 단말기에서 자바 가상 머신의 메모리 관리 방법 |
CN101046755A (zh) * | 2006-03-28 | 2007-10-03 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
CN101221535A (zh) * | 2008-01-25 | 2008-07-16 | 中兴通讯股份有限公司 | Java虚拟机的垃圾回收移动通信终端及回收方法 |
CN108108089A (zh) * | 2016-11-24 | 2018-06-01 | 中国移动通信有限公司研究院 | 一种图片加载方法及装置 |
CN109933443A (zh) * | 2019-03-07 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 进程间通信方法、装置、计算机设备及可读存储介质 |
CN111399754A (zh) * | 2019-09-03 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 存储空间的释放方法、装置及分布式系统 |
CN110752947A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种k8s集群部署方法及装置,一种部署平台 |
CN111552616A (zh) * | 2020-04-30 | 2020-08-18 | 汉海信息技术(上海)有限公司 | 一种内存监听方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112433809A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827538B2 (en) | Memory leak detection | |
US7707232B2 (en) | Implementation for collecting unmanaged memory | |
US11232026B2 (en) | Deferred destruction for efficient resource reclamation | |
US7310718B1 (en) | Method for enabling comprehensive profiling of garbage-collected memory systems | |
JP6087928B2 (ja) | 循環グラフにおけるオブジェクト寿命の管理 | |
CN112433809B (zh) | 一种jvm内存管理方法、装置、设备及可读存储介质 | |
US9081692B2 (en) | Information processing apparatus and method thereof | |
US9116798B2 (en) | Optimized memory management for class metadata | |
WO2001061472A2 (en) | Incremental class unloading in a train-algorithm-based garbage collector | |
CN111061752B (zh) | 数据处理方法、装置及电子设备 | |
US6427154B1 (en) | Method of delaying space allocation for parallel copying garbage collection | |
US20060074988A1 (en) | Garbage collection system | |
WO2005045683A1 (en) | Apparatus and method for garbage collection | |
WO1999067711A1 (en) | System and method for optimizing representation of associations in object-oriented programming environments | |
US20100005265A1 (en) | Method for isolating objects in memory region | |
US7660961B2 (en) | Concurrent evacuation of the young generation | |
CN115407943A (zh) | 一种内存转储文件生成方法、装置、设备及可读存储介质 | |
CN111143317A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
US6421689B1 (en) | Moderately conservative, mostly copying 2 space garbage collector in the nursery of a generational memory manager | |
CN112199042A (zh) | 存储空间管理方法、装置、芯片、设备及存储介质 | |
CN111694806A (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
CN114051610A (zh) | 基于arena的存储器管理 | |
CN115617504A (zh) | 一种内存管理系统、泄露检测方法及存储介质 | |
CN115509741A (zh) | 一种内存管理系统、越界检测方法及存储介质 | |
US10365963B2 (en) | Accessing damaged heaps using combined linear heap slot based and object graph walking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |