CN101405703B - 在区域性存储器系统中创建引用的方法、装置及其系统 - Google Patents

在区域性存储器系统中创建引用的方法、装置及其系统 Download PDF

Info

Publication number
CN101405703B
CN101405703B CN2007800100370A CN200780010037A CN101405703B CN 101405703 B CN101405703 B CN 101405703B CN 2007800100370 A CN2007800100370 A CN 2007800100370A CN 200780010037 A CN200780010037 A CN 200780010037A CN 101405703 B CN101405703 B CN 101405703B
Authority
CN
China
Prior art keywords
memory area
scoped memory
scoped
depth
target
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.)
Expired - Fee Related
Application number
CN2007800100370A
Other languages
English (en)
Other versions
CN101405703A (zh
Inventor
A·约翰逊
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101405703A publication Critical patent/CN101405703A/zh
Application granted granted Critical
Publication of CN101405703B publication Critical patent/CN101405703B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种在区域性存储器系统中创建引用的方法,所述区域性存储器系统包括区域性存储器区的作用域图,其中每个区域性存储器区适于在其中分配由软件线程访问的对象并且具有关联的线程计数来指示是否可丢弃所述区域性存储器区,所述方法包括以下步骤:在目标区域性存储器区中分配目标对象;存储与所述目标对象关联的所述作用域图中的目标区域性存储器区的深度的指数;在源区域性存储器区中分配源对象;存储与所述源对象关联的所述作用域图中的源区域性存储器区的深度的指数;响应于通过将与所述源对象关联的指数和与所述目标对象关联的指数相比较而判定所述源区域性存储器区的深度等于或深于所述目标区域性存储器区的深度,创建从所述目标对象到所述源对象的引用。

Description

在区域性存储器系统中创建引用的方法、装置及其系统
技术领域
本发明涉及在区域性存储器系统(scoped memory system)中创建引用。具体地说,本发明涉及在创建引用期间降低处理开销。 
背景技术
区域性存储器区是适于分配和解除分配对象而没有垃圾回收堆的某些缺点的区域。软件线程可以进入区域性存储器区,然后所述线程做出的所有对象分配都将在所述区域性存储器区内。所述线程还可以以嵌套的方式进入多个区域性存储器区。例如,所述线程可以进入成为默认分配区的第二区域性存储器区。区域性存储器区通过作用域图(scope graph)来组织,其中每个区域性存储器区都具有父存储器区,所述父存储器区是先前进入的区域性存储器区。第一区域性存储器区具有原始区域性存储器区作为其父存储器区。 
将针对每个在其中包含多个活动线程的区域性存储器区维护线程计数。与作用域图相联系的线程计数指示何时可以丢弃区域性存储器区以及其中分配的任何对象。例如,当关联的线程计数从1递减到0并且区域性存储器区不是任何其他区域性存储器区的父存储器区时,可以丢弃该区域性存储器区。通过这种方式,区域性存储器区为否则是垃圾回收的面向对象的环境(例如,Java,Java是Sun Microsystems的注册商标)中的对象提供替代的分配空间。使用此类区域性存储器区可以解决由垃圾回收算法导致的应用执行中的延迟问题,因为可以根据存储器区的线程使用和作用域图的组织定义的时间来同时丢弃区域性存储器区内的所有对象。 
第一区域性存储器区中的第一对象可以引用第二区域性存储器区中的第二对象。但是,由于单个区域性存储器区可能变得完全可丢弃,因此有必要针对不同区域性存储器区中的对象之间的有效和无效引用来实施严格的规则。对于确保父区域性存储器区的生命周期至少与其子区域性存储器区的生命周期相同,以便后代存储器区中的对象能够可靠地引用父辈存储器区中的对象而言,这些规则非常必要。通过这种方式,可以避免虚引用(dangling referen ce)。“Efficient Memory-Reference Checks for Real-timeJava”(“用于实时Java的有效存储器引用检查”,Corsaro与Cytron著,ACM SIGPLAN第38卷,第7期,2003年7月)对此进行了介绍。 
一个此类规则是区域性存储器区最多具有一个父存储器区。此规则称为“单父规则”。单父规则规定不同线程进入区域性存储器区的顺序始终是相同的,因为线程进入区域性存储器区的顺序定义了作用域图中的区域性存储器区的结构。进而,在源区域性存储器区中分配的源对象只能引用同一区域性存储器区或父辈区域性存储器区中的目标对象。父辈区域性存储器区是线程进入源区域性存储器区之前所进入的存储器区。源区域性存储器区被称为是相对于目标对象的作用域具有内部作用域。此准则可确保源对象始终在目标对象之前被解除分配。根据Java实时规范(Bollella等著,Addison-Wesley,2000年),创建不满足此准则的引用的尝试必定会失败。因此,必须在创建对目标对象的新引用时,使用有效的方式来检查此准则。 
一种在创建对象间的引用时判定是否满足此准则的方法是遍历作用域图中的各区域性存储器区。遍历从源区域性存储器区开始,然后通过每个父区域性存储器区以查找目标区域性存储器区。如果在遍历过程中,在作用域图内遇到目标区域性存储器区,则可以认为满足此准则,因为目标区域是源区域的父辈区域。如果遍历到达原始区域性存储器区(作用域图的“根”),则可以认为不满足此准则,因为目标区域性存储器区不是源区域性存储器区的父辈区域。 
一种替代方法是确定目标对象的区域性存储器区和原始区域性存储器区之间的距离的指数(index)。此距离可以被视为目标区域性存储器区的 “深度”。此外,源对象的区域性存储器区和原始区域性存储器区之间的距离的指数可被视为源区域性存储器区的“深度”。此处的术语深度用于表明区域性存储器区位于距原始区域性存储器区某一距离的级别处。较深的区域性存储器区位于作用域图中距原始区域性存储器区更远的级别处。通过比较这些深度的指数可以判定目标区域性存储器区是否为源区域性存储器区的父辈区域,因为后代区域始终比父辈区域更深(距原始区域性存储器区更远)。因此,如果源区域性存储器区比目标区域性存储器区更深,则满足准则并且可以创建引用。 
虽然这些方法在应用创建新引用的准则方面很有效,但是它们在创建引用时涉及耗时的作用域图遍历。在整个作用域图中扫描目标区域性存储器区或确定深度指数时,必须执行这些遍历。 
因此,在没有遍历作用域图所引起的不需要的高处理开销的情况下,判定是否满足在源区域性存储器区中分配的源对象只能引用父辈区域性存储器区中的目标对象的规则将是有利的。 
发明内容
相应地,本发明在第一方面提供了一种在区域性存储器系统中创建引用的方法,所述区域性存储器系统包括区域性存储器区的作用域图,其中每个区域性存储器区适于在其中分配由软件线程访问的对象并且具有关联的线程计数来指示是否可丢弃所述区域性存储器区,所述方法包括以下步骤:在目标区域性存储器区中分配目标对象;存储与所述目标对象关联的所述作用域图中的目标区域性存储器区的深度的指数;在源区域性存储器区中分配源对象;存储与所述源对象关联的所述作用域图中的源区域性存储器区的深度的指数;响应于通过将与所述源对象关联的指数和与所述目标对象关联的指数相比较而判定所述源区域性存储器区的深度等于或深于所述目标区域性存储器区的深度,创建从所述目标对象到所述源对象的引用。 
因此,在创建对象时存储与区域性存储器区中分配的对象关联的区域 性存储器区的深度的指数,不需要在创建引用时确定区域性存储器区的深度。通过这种方式,避免了在创建区域性存储器区之间的引用时执行现有技术中的繁琐遍历来检查区域性存储器系统是否满足准则。通过这种方式,降低了创建引用期间的处理开销。 
优选地,所述创建从所述目标对象到所述源对象的引用的步骤进一步响应于判定所述目标区域性存储器区和所述源区域性存储器区位于所述作用域图的公共分支内。 
相应地,本发明在第二方面提供了一种在区域性存储器系统中创建引用的装置,所述区域性存储器系统包括区域性存储器区的作用域图,其中每个区域性存储器区适于在其中分配由软件线程访问的对象并且具有关联的线程计数来指示是否可丢弃所述区域性存储器区,所述装置包括:用于在目标区域性存储器区中分配目标对象的装置;用于存储与所述目标对象关联的所述作用域图中的目标区域性存储器区的深度的指数的装置;用于在源区域性存储器区中分配源对象的装置;用于存储与所述源对象关联的所述作用域图中的源区域性存储器区的深度的指数的装置;用于响应于通过将与所述源对象关联的指数和与所述目标对象关联的指数相比较而判定所述源区域性存储器区的深度等于或深于所述目标区域性存储器区的深度,创建从所述目标对象到所述源对象的引用的装置。 
相应地,本发明在第三方面提供了一种装置,所述装置包括:中央处理单元;存储子系统;输入/输出子系统;将所述中央处理单元、所述存储子系统、所述输入/输出子系统互连的总线子系统;以及上述装置。 
相应地,本发明在第四方面提供了一种包括计算机程序代码的计算机程序元素,当载入计算机系统并在其上执行时,所述计算机程序代码将导致所述计算机执行上述方法的步骤。 
附图说明
现在仅通过实例的方式参考附图描述本发明的优选实施例,这些附图是:
图1是适于执行本发明的实施例的操作的计算机系统的方块图; 
图2是根据本发明的优选实施例的示例性区域性存储器系统的方块图; 
图3a是根据本发明的优选实施例的区域性存储器区的示例性作用域图的方块图; 
图3b是根据本发明的优选实施例的示例性源和目标区域性存储器区的方块图; 
图4a是根据本发明的优选实施例的分配图3b的目标对象的方法的流程图; 
图4b是根据本发明的优选实施例的分配图3b的源对象的方法的流程图;以及 
图5是根据本发明的优选实施例的创建从图3b的源对象到目标对象的引用的方法的流程图。 
具体实施方式
图1是适于执行本发明的实施例的操作的计算机系统的方块图。中央处理单元(CPU)102通过数据总线108与存储单元104和输入/输出(I/O)接口106可通信地连接。存储单元104可以是诸如随机存取存储器(RAM)或非易失性存储设备之类的任何读/写存储设备。非易失性存储设备的实例包括盘或磁带存储设备。I/O接口106是到用于输入和/或输出数据的设备的接口。可与I/O接口106相连的I/O设备的实例包括键盘、鼠标、显示器(如监视器)和网络连接。 
图2是根据本发明的优选实施例的示例性区域性存储器系统200的方块图。所述区域性存储器系统是计算机系统的一部分存储单元104的一种布置,如Java实时规范(Bollella等著,Addison-Wesley,2000年)中所述的区域性存储器系统。在使用中,区域性存储器系统200包括作用域图202,作用域图202是具有零个或多个诸如区域性存储器区206之类的区域性存储器区的数据结构布置。作用域图202在本领域中通常称为“作用域 堆栈”,尽管作用域图202的数据结构并不一定是堆栈数据结构。作用域图202可以实现为有向图数据结构、堆栈数据结构、树形数据结构、链接列表或任何适于存储零个或多个区域性存储器区的数据结构。 
区域性存储器区206是存储单元104中的适于分配和引用软件对象(此后称为对象)的定义存储器区。可以由在区域性存储器区206的上下文中执行的软件线程在区域性存储器区的已分配对象212部分中分配和访问对象。区域性存储器区206还包括线程计数210作为在区域性存储器区206的上下文中执行的软件线程数的计数。线程通过显式进入区域性存储器区(例如,通过调用应用编程接口功能),在区域性存储器区206的上下文中执行。一旦线程进入区域性存储器区206,便会在区域性存储器区206内进行对象分配,除非线程明确地在其他位置(例如在常规堆或另一区域性存储器区中)进行分配。 
区域性存储器区206还包括包含对父区域性存储器区的引用的父字段208。如上所述,区域性存储器区最多具有一个父存储器区。通过其间的父级关系定义的区域性存储器区的布置定义了作用域图202。初始没有特定父存储器区的区域性存储器区将通过占位符引用原始区域性存储器区204作为其父存储器区。 
图3a是根据本发明的优选实施例的区域性存储器区300的示例性作用域图350的方块图。作用域图350示出了在区域性存储器系统中执行的软件线程的行为所导致的可能区域性存储器区布置。软件线程初始进入区域性存储器区A302并且区域性存储器区A302使原始区域性存储器区300作为其父存储器区。接着,软件线程进入区域性存储器区B304并且区域性存储器区B304使区域性存储器区A302作为其父存储器区。然后,软件线程进入区域性存储器区C306并且区域性存储器区C306使区域性存储器区B304作为其父存储器区。软件线程还进入第二区域性存储器区D308并且区域性存储器区D308也使区域性存储器区B304作为其父存储器区。例如,由于多个线程在区域性存储器系统中执行,因此作用域图350中可能出现此分支。进而,一个或多个线程进入区域性存储器区E310和 F312,这两个区域都使区域性存储器区C306作为它们的父存储器区。 
因此,图3a仅通过实例的方式示出了在执行期间进入区域性存储器区的软件线程的行为所导致的可能作用域图350布置。应指出的是,每个区域性存储器区都可以被视为在通过作用域图350距原始区域性存储器区300特定距离处对齐。例如,区域性存储器区A302位于与原始区域性存储器区最接近的级别320。区域性存储器区B304位于级别322。区域性存储器区C306和D308均位于级别324,并且区域性存储器区E310和F312均位于级别326。这些级别320到326可被视为在作用域图350中的“深度”并代表区域性存储器区距原始区域性存储器区300的距离。级别320(以及区域性存储器区A302)是作用域图中深度最小的级别,因为它最接近原始区域性存储器区300,而级别326(以及区域性存储器区E310和F312)是最深的级别。 
对于上述区域性存储器系统的操作,可以根据区域性存储器区在作用域图350中的深度,来说明在源区域性存储器区中分配的源对象只能引用在同一或父辈区域性存储器区中的目标对象的准则。在这些方面,准则是当包含源对象的源区域性存储器区的深度等于或深于包含目标对象的目标区域性存储器区的深度时,源对象才能引用目标对象。 
图3b是根据本发明的优选实施例的示例性源356和目标370区域性存储器区的方块图。源区域性存储器区356包括具有对象数据366和深度指数368的源对象364。对象数据366是存储在面向对象的系统中的实例化对象内的数据,并且可以包括变量和软件方法。深度指数368是源区域性存储器区356在作用域图中的深度的指数。图3b还示出了与源区域性存储器区356在同一作用域图中的目标区域性存储器区370。目标区域性存储器区370包括具有对象数据388和深度指数382的目标对象378。 
可以在分配对象364和378时分别确定深度指数368和382。可以进行这种早期确定,因为区域性存储器系统的单父规则要求区域性存储器区被丢弃之前在作用域图中保持同一位置,所以在该区域中分配的对象的寿命期间,区域性存储器区的深度不能改变。例如,源区域性存储器区356 的深度在源对象364的寿命期间不能改变。因此,通过这种方式,可以作为对象364和376的对象分配过程的一部分,确定源区域性存储器区356和目标区域性存储器区370的深度。因此,不必在后期阶段(例如在创建引用时)进行此类繁琐的确定。 
图4a是根据本发明的优选实施例的分配图3b的目标对象378的方法的流程图。初始地,在步骤402,在目标区域性存储器区370中分配目标对象378。接着,在步骤404,确定目标区域性存储器区370的深度。一种确定的方式是通过从目标区域性存储器区370开始分析作用域图,遍历各个父区域性存储器区,直到到达原始区域性存储器区354。在每个区域性存储器区,可以递增目标区域性存储器区370的深度382的指数。因此,通过这种方式,较大的深度指数382值可以对应于较深的区域性存储器区。还可以使用表示区域性存储器区深度的替代布置,例如使较小的深度指数382值代表较深的区域性存储器区。接着,在步骤406,将目标区域性存储器区370的深度存储为与目标对象378关联的深度指数382。深度指数382可以存储在目标对象378内,也可以替代地存储在目标对象378之外,但是与目标对象378关联。 
图4b是根据本发明的优选实施例的分配图3b的源对象364的方法的流程图。图4b中针对源对象364的步骤大部分与图4a中针对目标对象378的上述步骤对应。 
图5是根据本发明的优选实施例的创建从图3b的源对象364到目标对象378的引用的方法的流程图。如本领域公知的,这对应于将对目标对象378的引用存储在源对象364内。初始地,在步骤502,所述方法判定目标对象378的深度指数382是否与源对象364的深度指数368相同。如果深度相同,则所述方法继续到步骤506,否则,所述方法检查深度指数368和382是否指示源区域性存储器区356深于目标区域性存储器区370。如果源区域性存储器区比目标区域性存储器区更深,则所述方法继续到步骤506。在步骤506,所述方法允许创建从源对象364到目标对象378的引用。备选地,如果步骤504判定源区域性存储器区不深于目标区域性存储器区, 则所述方法继续到步骤508,其中将阻止创建引用。 
步骤506备选地可以包括其他步骤,例如,在允许创建引用之前判定目标区域性存储器区370是源区域性存储器区356的父辈(起源)的步骤。当源区域性存储器区和目标区域性存储器区位于作用域图的公共分支内(其中作用域图具有分支)时,可以确定源区域性存储器区和目标区域性存储器区之间的这种父辈关系。例如,参考图3a,区域性存储器区F312和C306位于作用域图350的公共分支内,因为它们之间具有父辈关系(区域性存储器区C306是区域性存储器区F312的父辈)。但是,区域性存储器区F312和区域性存储器区D308不在公共分支内,因为区域性存储器区D308不是区域性存储器区F312的父辈,反之亦然。 
通过在创建对象时存储与区域性存储器区中分配的对象关联的区域性存储器区的深度的指数,不必在创建引用时确定区域性存储器区的深度。通过这种方式,避免了在创建区域性存储器区之间的引用时执行现有技术中的繁琐遍历来检查区域性存储器系统是否满足准则。 
只要可以使用软件控制的可编程处理设备(如微处理器、数字信号处理器或其他处理设备、数据处理装置或系统)至少部分地实现所述的本发明的实施例,便可理解能够将配置可编程设备、装置或系统以实现上述方法的计算机程序构想为本发明的一部分。例如,所述计算机程序可以实现为源代码,可以经过编译以便在处理设备、装置或系统上实现,或被实现为目标代码。 
适当地,所述计算机程序能够以机器或设备可读的形式存储在承载介质上,例如存储在固态存储器、诸如磁盘和磁带之类的磁存储器、诸如光盘或数字多功能盘之类的光或磁光可读存储器上,并且处理设备使用程序或程序的一部分进行配置来执行操作。可以从远程源提供计算机程序,所述计算机程序包含在诸如电子信号、射频载波或光载波之类的通信介质中。此类承载介质也可以被视为为本发明的各方面。 
本领域的技术人员将理解,尽管根据正在使用的实例实施例描述了本发明,但是本发明并不限于此,可以存在许多落入本发明的范围之内的可 能变型和修改。 
本发明的范围包括此处所公开的任何新颖特征或特征的组合。申请人在此指出,在申请提出期间或从其提交的任何此类进一步申请期间,可以构想包括此类特征或特征组合的新权利要求。具体地说,参考所附权利要求,从属权利要求的特征可以与独立权利要求的特征相组合,并且各个独立权利要求的特征可以按照任何适当的方式组合,并不仅限于权利要求中列出的特定组合。 
为了避免疑义,此处在说明书和权利要求中使用的术语“包括”不应被解释为“仅由...组成”。

Claims (5)

1.一种在区域性存储器系统中创建引用的方法,所述区域性存储器系统包括区域性存储器区的作用域图,其中每个区域性存储器区适于在其中分配由软件线程访问的对象并且具有关联的线程计数来指示是否可丢弃所述区域性存储器区,所述方法包括以下步骤:
在目标区域性存储器区中分配目标对象;
存储与所述目标对象关联的所述作用域图中的目标区域性存储器区的深度的指数;
在源区域性存储器区中分配源对象;
存储与所述源对象关联的所述作用域图中的源区域性存储器区的深度的指数;
响应于通过将与所述源对象关联的指数和与所述目标对象关联的指数相比较而判定所述源区域性存储器区的深度等于或深于所述目标区域性存储器区的深度,创建从所述目标对象到所述源对象的引用。
2.根据权利要求1的方法,其中所述创建从所述目标对象到所述源对象的引用的步骤进一步响应于判定所述目标区域性存储器区和所述源区域性存储器区位于所述作用域图的公共分支内。
3.一种在区域性存储器系统中创建引用的装置,所述区域性存储器系统包括区域性存储器区的作用域图,其中每个区域性存储器区适于在其中分配由软件线程访问的对象并且具有关联的线程计数来指示是否可丢弃所述区域性存储器区,所述装置包括:
用于在目标区域性存储器区中分配目标对象的装置;
用于存储与所述目标对象关联的所述作用域图中的目标区域性存储器区的深度的指数的装置;
用于在源区域性存储器区中分配源对象的装置;
用于存储与所述源对象关联的所述作用域图中的源区域性存储器区的深度的指数的装置;
用于响应于通过将与所述源对象关联的指数和与所述目标对象关联的指数相比较而判定所述源区域性存储器区的深度等于或深于所述目标区域性存储器区的深度,创建从所述目标对象到所述源对象的引用的装置。
4.根据权利要求3的装置,其中创建从所述目标对象到所述源对象的引用的装置进一步响应于用于判定所述目标区域性存储器区和所述源区域性存储器区位于所述作用域图的公共分支内的装置。
5.一种在区域性存储器系统中创建引用的系统,所述系统包括:中央处理单元;存储子系统;输入/输出子系统;将所述中央处理单元、所述存储子系统、所述输入/输出子系统互连的总线子系统,以及如权利要求3或4中的任一权利要求所述的装置。
CN2007800100370A 2006-04-28 2007-04-24 在区域性存储器系统中创建引用的方法、装置及其系统 Expired - Fee Related CN101405703B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0608406.5 2006-04-28
GBGB0608406.5A GB0608406D0 (en) 2006-04-28 2006-04-28 Creating references in a scoped memory system
PCT/EP2007/054004 WO2007128687A1 (en) 2006-04-28 2007-04-24 Creating references in a scoped memory system

Publications (2)

Publication Number Publication Date
CN101405703A CN101405703A (zh) 2009-04-08
CN101405703B true CN101405703B (zh) 2011-03-23

Family

ID=36589964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800100370A Expired - Fee Related CN101405703B (zh) 2006-04-28 2007-04-24 在区域性存储器系统中创建引用的方法、装置及其系统

Country Status (6)

Country Link
US (1) US8140598B2 (zh)
EP (1) EP2024838B1 (zh)
JP (1) JP5159763B2 (zh)
CN (1) CN101405703B (zh)
GB (1) GB0608406D0 (zh)
WO (1) WO2007128687A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5064134B2 (ja) * 2007-08-03 2012-10-31 株式会社日立製作所 メモリ管理方法およびその方法を用いるコンピュータ
CN101809545B (zh) * 2007-09-25 2012-06-13 国际商业机器公司 存储器管理方法及其设备
US8266190B2 (en) * 2007-09-25 2012-09-11 International Business Machines Corporation Memory management for garbage collection of critical real time threads
US20140196015A1 (en) * 2013-01-04 2014-07-10 Microsoft Corporation Declaration of lifetime of resource reference
US9098269B2 (en) 2013-01-04 2015-08-04 Microsoft Technology Licensing, Llc System and method to ensure resource access safety with immutable object types
US9229959B2 (en) 2013-01-04 2016-01-05 Microsoft Technology Licensing, Llc Object graph partial immutability and isolation enforcement
US10044799B2 (en) 2013-05-28 2018-08-07 International Business Machines Corporation Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US9854035B2 (en) 2013-05-28 2017-12-26 International Business Machines Corporation Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
US9317520B2 (en) 2013-07-30 2016-04-19 International Business Machines Corporation State scope data file sharing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594678B1 (en) * 2000-01-05 2003-07-15 Sun Microsystems, Inc. Methods and apparatus for improving locality of reference through memory management
US6813692B2 (en) * 2001-07-06 2004-11-02 Koninklijke Philips Electronics N.V. Receiver apparatus and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097537A1 (en) * 2001-10-23 2003-05-22 Sun Microsystems, Inc. Method and apparatus for scoped memory
GB2399897B (en) * 2003-03-26 2006-02-01 Advanced Risc Mach Ltd Memory recycling in computer systems
KR100626368B1 (ko) * 2003-08-25 2006-09-20 삼성전자주식회사 가비지 콜렉션 벤치마킹 방법
US7496897B1 (en) * 2004-03-17 2009-02-24 Timesys Corporation Multiple code sets for multiple execution contexts
JP4719859B2 (ja) * 2004-09-14 2011-07-06 国立大学法人京都大学 データ処理方法、データ処理装置及びコンピュータプログラム
JP5064134B2 (ja) * 2007-08-03 2012-10-31 株式会社日立製作所 メモリ管理方法およびその方法を用いるコンピュータ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594678B1 (en) * 2000-01-05 2003-07-15 Sun Microsystems, Inc. Methods and apparatus for improving locality of reference through memory management
US6813692B2 (en) * 2001-07-06 2004-11-02 Koninklijke Philips Electronics N.V. Receiver apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Angelo Corsaro etc.Efficient Memory-Reference Checks for Real-time Java.《Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems(San Diego, CA)》.2003,第38卷(第7期), *

Also Published As

Publication number Publication date
EP2024838B1 (en) 2016-03-16
GB0608406D0 (en) 2006-06-07
US20080294685A1 (en) 2008-11-27
US8140598B2 (en) 2012-03-20
WO2007128687A1 (en) 2007-11-15
JP5159763B2 (ja) 2013-03-13
JP2009535682A (ja) 2009-10-01
CN101405703A (zh) 2009-04-08
EP2024838A1 (en) 2009-02-18

Similar Documents

Publication Publication Date Title
CN101405703B (zh) 在区域性存储器系统中创建引用的方法、装置及其系统
CN100492301C (zh) 避免软件冲突的方法和系统
CN101809545B (zh) 存储器管理方法及其设备
CN102460392B (zh) 对多线程应用的杂凑表执行并行的重杂凑
CN102722432B (zh) 追踪内存访问的方法和装置
CN105009110A (zh) 大规模并行处理(mpp)数据库的自动伸缩方法
US5369732A (en) Method and apparatus for goal processing memory management
KR20060085698A (ko) 중앙집중형 동적 어드레싱 매니저를 이용한 동적 어드레싱방법 및 장치
CN104573112B (zh) Oltp集群数据库中页面查询方法及数据处理节点
CN111221840A (zh) 数据处理方法及装置、数据缓存方法、存储介质、系统
CN104077266B (zh) 多内核操作系统实现方法和实现装置及系统
CN107391039B (zh) 一种数据对象存储方法和装置
US20090320022A1 (en) File System Object Node Management
CN105431815A (zh) 用于数据库工作负荷的输入-输出优先化
CN107832446A (zh) 一种配置项信息的搜索方法及计算设备
CN104182295A (zh) 一种数据备份方法及装置
CN113672375B (zh) 资源分配预测方法、装置、设备及存储介质
CN111125114A (zh) 数据库横向扩展、数据表访问方法及装置
US20090320036A1 (en) File System Object Node Management
CN102541743B (zh) 用于存储管理的方法、设备和系统
CN108563507A (zh) 一种内存管理方法、装置、设备及可读存储介质
CN106888244A (zh) 一种业务处理方法及装置
CN110334098A (zh) 一种基于脚本的数据库合并方法及系统
CN110162483A (zh) 静态内存碎片整理方法、装置、计算机设备及存储介质
CN109636324B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110323