CN102023891A - 基于Java虚拟机的并发垃圾收集器框架 - Google Patents
基于Java虚拟机的并发垃圾收集器框架 Download PDFInfo
- Publication number
- CN102023891A CN102023891A CN 201010595749 CN201010595749A CN102023891A CN 102023891 A CN102023891 A CN 102023891A CN 201010595749 CN201010595749 CN 201010595749 CN 201010595749 A CN201010595749 A CN 201010595749A CN 102023891 A CN102023891 A CN 102023891A
- Authority
- CN
- China
- Prior art keywords
- concurrent
- thread
- collection
- state
- algorithm
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
本发明属于Java虚拟机垃圾回收器技术领域,具体涉及一种基于Java虚拟机的并发垃圾回收器框架。该框架分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器主要有两个方面的作用:决定何时触发GC,处理***资源耗尽的情况。本发明增加了并行垃圾收集技术的平台可移植性,解决了在同一平台下实验不同并行垃圾收集技术的问题,可以在一个特定的平台下研究不同并行垃圾收集技术的优劣性。
Description
技术领域
本发明属于Java虚拟机垃圾回收器技术领域,具体涉及一种基于Java虚拟机的并发垃圾回收器框架。
背景技术
伴随着高级编程语言的兴起,垃圾收集(Garbage Collection, GC)技术在***安全和资源管理方面扮演着越来越重要的角色。
在很多编程***中,程序编写者需要在程序编写过程中显示的释放不使用的内存空间。在这种设计中,程序编写者的失误很容易造成程序的内存泄露或者异常终止,这在很大程度上影响了***的稳定性和可靠性。而垃圾回收技术要求虚拟机执行判断和清理程序不再使用的内存空间。所以垃圾收集技术能有效地避免这些情况的发生,它使内存的管理自动化,程序编写者不再需要对不使用的内存进行释放,垃圾收集器会在一个合适的时间对这个堆进行处理,把已经不再使用的空间释放掉。这样的设计使内存的管理更加模块化,并具有更高的可靠性。
常见的垃圾收集算法在***堆内存耗尽时,虚拟机会“暂停”所有应用程序线程进行垃圾收集。等垃圾收集工作结束,应用程序线程会被重新启动继续其执行。这种技术被称为“停止世界(stop-the-world)”的垃圾收集。随着现代应用程序使用内存量增大、对象数量增多,“停止世界”垃圾收集所造成的停顿严重影响了应用程序的响应时间。
于是为了消除“停止世界”垃圾收集造成性能影响的问题,很多研究机构和个人都在致力于实现可以使垃圾收集器在应用程序线程执行的情况下进行垃圾收集的技术,以此来提高应用程序的效率,这样的技术被称为并发垃圾收集技术。但是目前已有的并发垃圾收集技术实现都比较分散,并且实现比较繁琐,对于不同的***的可移植性较差也是一个比较大的问题。
发明内容
本发明的目的在于针对现有并发垃圾收集技术实现比较分散的问题,提出一个并发垃圾收集器的统一框架。
本发明调研了不同的并发垃圾收集算法的差异,发现不同的并发垃圾收集算法之间还是有很大程度的相似度,只有在具体的算法实现时有较大的差异,这样的调研结果说明了建立统一框架的可能性和优越性。
本发明采用的技术方案为:为并发垃圾收集器设计一个统一框架,可以在其中方便地实现和改进各种不同的并发垃圾收集算法。并且将垃圾收集器本身设计成多线程(GC线程),以此来提高垃圾收集的效率。
并发垃圾收集器的统一框架是专门为并发垃圾收集器所设计的一个统一框架。通过研究不同的并发垃圾收集算法的异同点,该框架提供了通用的垃圾收集数据处理和合并、垃圾收集等功能。通过该框架,并发垃圾收集器的开发者只需要实现其核心算法就可以实现一个工作良好的并发垃圾收集器,极大的方便了各种不同的并发垃圾收集算法实现和改进。并发垃圾收集器的统一框架主要分为并发算法框架和调度器两个模块。
本发明提出的基于Java虚拟机的并发垃圾收集器框架 ,分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;现有的框架中又把整个并发算法框架分成核心算法实现、数据并行处理和合并、并发收集这三个模块;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器而言,主要有两个方面的作用:
第一,决定何时触发GC;
第二,处理***资源耗尽的情况;按照***资源耗尽发生的时刻段,把耗尽情况分成三种:一体发生在应用程序运行中,垃圾收集线程没有启动;发生在垃圾收集线程启动后的跟踪阶段;以及发生在垃圾收集线程启动后的收集清理阶段;调度器对这三种情况分别进行处理:
(1)对于第一种情况,只把所有的线程都停下来,做一次“停止世界”的垃圾收集过程,之后再让程序继续运行;
(2)当***资源耗尽出现在垃圾收集线程启动后的跟踪阶段,调度器停掉其他应用程序的线程,让垃圾收集线程把跟踪阶段完成,先得到对象跟踪信息;之后用这个对象跟踪信息做一次“停止世界”的垃圾收集过程来释放内存;
(3)对于***资源耗尽出现在垃圾收集线程启动后的收集清理阶段,调度器只停掉其他应用程序的线程,让垃圾收集线程把收集清理阶段完成。
并发垃圾收集器的最大特点就是GC线程和应用程序线程同时运行,而且无论应用程序还是垃圾收集器都可能是多线程。我们设计了一个GC线程组和应用程序线程组共享的状态变量来保证线程之间的同步。图1描述了并发垃圾收集器运行过程中线程对该状态变量进行的改变。
如果考虑***堆内存提前耗尽的情况,就可以把垃圾收集过程表示为6个状态之间的转换,它们之间的转换关系如图2所示,分别表示的作用为:
1、 状态①: 应用程序正常运行,每次申请内存空间的操作都会调用GC调度器来检测是否需要触发并发垃圾收集过程,需要的话转到状态②;
2 、状态②: 应用程序线程分别停顿,收集其执行栈上的根节点,放入根节点集合,并打开当前线程的写***。当最后一个线程的根节点集合收集完成后,启动GC线程开始执行追踪过程,转到状态③;
3 、状态③: 追踪过程与应用程序并发的运行,当最后一个GC线程完成追踪过程后,转到状态④;
4、状态④: 追踪过程完成,当应用程序有新的申请内存操作时会触发并发的收集过程,转到状态⑤;
5、 状态⑤: 收集过程与应用程序并发运行,当最后一个GC线程完成收集过程后转到状态①;
6 、状态⑥: 垃圾收集过程处于状态①、③、⑤时,如果***堆内存被应用程序耗尽,将进入状态⑥进行处理(***堆内存耗尽处理),随后转到状态①。
在实现过程中,应该考虑到多个应用程序线程之间的协同问题以及多个GC线程之间的协同问题。所以我们加入一些多个应用程序线程共享的同步变量和多个GC线程共享的同步变量来处理这些问题,与之相对应的状态转换过程如图3。
上述这种状态转换是我们设计的统一框架提供的专门为并发垃圾收集器设计的,只要利用上述的状态变换,程序员能实现绝大多数的并发垃圾收集算法。基于这个统一框架,已经实现了等三种并发垃圾收集算法,它们是Mostly-Concurrent算法和Snapshot-at-the-Beginning算法两种不同实现,这也说明了统一框架可以方便地实现不同并行垃圾收集技术。这里也对这三种并行垃圾收集技术进行简单的介绍:
Mostly-Concurrent算法的基本思想是先用并发的GC线程去做尽量多的“标记”工作,然后用一次“停止世界”追踪过程来完成剩下的“标记”工作;而Snapshot-at-the-Beginning算法的主要思想是分别对当前运行的每个应用程序线程的运行栈做一次“快照”(snapshot),得到一个完整的根节点集合,然后GC线程从这个根节点集合开始执行并发的追踪过程。在具体实施方式一节中将对这三种算法和数据结构进行详细描述。
本发明的有益效果是:1)提供了一个实现并发垃圾收集器的统一框架,让各种不同的算法能在一个框架下方便的被实现。2)框架的实现不针对具体的某一平台,这样的设计增加了并行垃圾收集技术的平台可移植性。3)解决了在同一平台下实验不同并行垃圾收集技术的问题,这样就可以在一个特定的平台下研究不同并行垃圾收集技术的优劣性。4)在目前构建的框架下设计并实现了三种并发垃圾收集算法,有效的利用***资源,证明了该框架的实用性。5)通过测试表明,并发垃圾收集器能有效的消除服务端应用程序因垃圾收集所导致的停顿;对于客户端应用程序,也能在降低停顿时间的同时,有效的缩短应用程序的执行的时间。
附图说明
图1所示为并发垃圾收集器中应用程序线程和GC线程的同步关系。
图2所示为并发垃圾收集的状态转换。
图3所示为并发垃圾收集的运行过程中的状态转换过程。
图4所示为并发垃圾收集器的堆空间耗尽处理。
具体实施方式
本发明按照上述并发垃圾收集框架主要分为并发算法框架和调度器两个模块。下面就对本框架中这两个模块的具体实施作一个详细的介绍。在介绍并发算法框架的同时,还会对基于本框架实现的三种并发垃圾收集算法进行介绍。
图2为并发垃圾收集的状态转换图,并发垃圾收集框架的运行就是这6个状态的转换。前5个状态属于并发算法框架的范畴,最后第6个状态是调度器中实现的内存资源耗尽处理。
1)并发算法框架。并发算法框架是这整个统一框架的核心部分,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现。现有的框架中又把整个并发算法框架分成了核心算法实现、数据并行处理和合并、并发收集这三个模块。
经过调研发现,在并发垃圾收集技术中很大一部分的处理是可以统一实现的。例如并发垃圾收集技术中有大量对***的数据进行并发处理和合并的操作,而这一类的操作是不同的并发垃圾收集技术都需要的,所以统一框架通过抽象和提取出一个适用于所有并发垃圾收集技术的数据并行处理和合并的模块,很大程度上减少了实现并发垃圾收集算法的工作量难度。不同的并发垃圾收集技术之间的差异最大的只体现在具体算法的核心思想和实现步骤上。简单的说,并发算法框架中的数据并行处理和合并模块以及并发收集模块适用于所有的并发垃圾收集技术,在本框架下实现不同的并发收集方法只要实现其核心算法部分就可以了。
a) 核心算法实现
b) 数据并行处理
c) 并发收集方法
2)调度器。调度器主要由调度触发器、调度算法、耗尽处理三个模块组成。对调度器而言,主要有两个方面的作用:
第一,调度器需要决定何时触发GC。因为如果垃圾收集发生过早,就没有充分利用***内存资源并且造成垃圾收集的频率过快,这样会影响应用程序性能;如果发生过晚,***堆内存可能在并发垃圾收集完成前被耗尽,进入状态⑥进行“耗尽处理”,这样又增加了应用程序的停顿时间。
对如何找到这样的GC触发点,其实同样有很多不同的实现方式,框架中给出了一个GC_schedule接口,在整个并发垃圾收集器框架中都统一使用这个接口进行垃圾收集线程的管理。这样方便程序员通过这个接口来实现不同的垃圾收集的调度算法。
第二,调度器需要处理***资源耗尽的情况。目前实现的统一框架按照***资源耗尽发生的时刻段,可以把耗尽情况分成三种:一体发生在应用程序运行中,垃圾收集线程没有启动;发生在垃圾收集线程启动后的跟踪阶段;以及发生在垃圾收集线程启动后的收集清理阶段。调度器从应用程序的运行效率最大化的角度考虑,并利用并发垃圾收集的特点,对这三种情况分别进行了处理。
(4)对于第一种情况,因为垃圾收集线程还没有启动,没有可以利用的信息,所以只能把所有的线程都停下来,做一次“停止世界”的垃圾收集过程。之后再让程序继续运行。
(5)当***资源耗尽出现在垃圾收集线程启动后的跟踪阶段,那么并发垃圾收集阶段的跟踪信息时可以复用的。调度器的做法是停掉其他应用程序的线程,让垃圾收集线程把跟踪阶段完成,先得到对象跟踪信息。之后用这个对象跟踪信息做一次“停止世界”的垃圾收集过程来释放内存。这样就省去了一次跟踪处理。
对于***资源耗尽出现在垃圾收集线程启动后的收集清理阶段,处理就更为简单了。因为之前的跟踪和清理过程都还是适用的,调度只要停掉其他应用程序的线程,让垃圾收集线程把收集清理阶段完成就可以了。
Claims (2)
1.一种基于Java虚拟机的并发垃圾收集器框架 ,其特征在于该框架分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;现有的框架中又把整个并发算法框架分成核心算法实现、数据并行处理和合并、并发收集这三个模块;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器而言,主要有两个方面的作用:
第一,决定何时触发GC;
第二,处理***资源耗尽的情况;按照***资源耗尽发生的时刻段,把耗尽情况分成三种:一体发生在应用程序运行中,垃圾收集线程没有启动;发生在垃圾收集线程启动后的跟踪阶段;以及发生在垃圾收集线程启动后的收集清理阶段;调度器对这三种情况分别进行处理:
对于第一种情况,只把所有的线程都停下来,做一次“停止世界”的垃圾收集过程,之后再让程序继续运行;
当***资源耗尽出现在垃圾收集线程启动后的跟踪阶段,调度器停掉其他应用程序的线程,让垃圾收集线程把跟踪阶段完成,先得到对象跟踪信息;之后用这个对象跟踪信息做一次“停止世界”的垃圾收集过程来释放内存;
对于***资源耗尽出现在垃圾收集线程启动后的收集清理阶段,调度器只停掉其他应用程序的线程,让垃圾收集线程把收集清理阶段完成。
2.一种如权利要求1所述基于Java虚拟机的并发垃圾收集器框架,其特征在于,框架的各个状态之间的转换关系为:
状态①: 应用程序正常运行,每次申请内存空间的操作都会调用GC调度器来检测是否需要触发并发垃圾收集过程,需要的话转到状态②;
状态②: 应用程序线程分别停顿,收集其执行栈上的根节点,放入根节点集合,并打开当前线程的写***;当最后一个线程的根节点集合收集完成后,启动GC线程开始执行追踪过程,转到状态③;
状态③: 追踪过程与应用程序并发的运行,当最后一个GC线程完成追踪过程后,转到状态④;
状态④: 追踪过程完成,当应用程序有新的申请内存操作时会触发并发的收集过程,转到状态⑤;
状态⑤: 收集过程与应用程序并发运行,当最后一个GC线程完成收集过程后转到状态①;
状态⑥: 垃圾收集过程处于状态①、③、⑤时,如果***堆内存被应用程序耗尽,将进入状态⑥进行***堆内存耗尽处理,随后转到状态①。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010595749 CN102023891A (zh) | 2010-12-20 | 2010-12-20 | 基于Java虚拟机的并发垃圾收集器框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010595749 CN102023891A (zh) | 2010-12-20 | 2010-12-20 | 基于Java虚拟机的并发垃圾收集器框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102023891A true CN102023891A (zh) | 2011-04-20 |
Family
ID=43865212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010595749 Pending CN102023891A (zh) | 2010-12-20 | 2010-12-20 | 基于Java虚拟机的并发垃圾收集器框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102023891A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243596A (zh) * | 2011-08-09 | 2011-11-16 | 复旦大学 | 一种自适应动态代码卸载方法 |
CN102411513A (zh) * | 2011-08-10 | 2012-04-11 | 复旦大学 | 一种工作于混合模式执行引擎中的垃圾收集方法 |
CN102722447A (zh) * | 2012-06-06 | 2012-10-10 | 北京航空航天大学 | 一种内存垃圾收集器中对象状态的增量式跟踪记录方法 |
CN106293939A (zh) * | 2016-08-05 | 2017-01-04 | 北京航空航天大学 | 一种在内存垃圾收集器中动态重用对象的方法 |
CN106293878A (zh) * | 2016-08-05 | 2017-01-04 | 北京航空航天大学 | 一种在jvm中动态计算对象重用价值的方法 |
WO2017167061A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 用于垃圾回收的并行标记处理方法及装置 |
CN108446162A (zh) * | 2018-02-13 | 2018-08-24 | 南京途牛科技有限公司 | 监测JVM Full GC事件的方法及*** |
CN108536537A (zh) * | 2018-03-29 | 2018-09-14 | 北京白山耘科技有限公司 | 一种进程资源回收方法及装置 |
US10241716B2 (en) | 2017-06-30 | 2019-03-26 | Microsoft Technology Licensing, Llc | Global occupancy aggregator for global garbage collection scheduling |
US10248562B2 (en) | 2017-06-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Cost-based garbage collection scheduling in a distributed storage environment |
CN110291508A (zh) * | 2017-02-01 | 2019-09-27 | 微软技术许可有限责任公司 | 垃圾收集器 |
CN113360274A (zh) * | 2020-03-04 | 2021-09-07 | 阿里巴巴集团控股有限公司 | 垃圾回收方法、装置及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005001695A1 (ja) * | 2003-06-30 | 2005-01-06 | Matsushita Electric Industrial Co., Ltd. | ガーベジコレクションシステム |
CN1648879A (zh) * | 2004-01-28 | 2005-08-03 | 三星电子株式会社 | 自适应垃圾收集方法及设备 |
CN101075209A (zh) * | 2006-04-28 | 2007-11-21 | 国际商业机器公司 | 在异构多处理器***中收集垃圾的***和方法 |
-
2010
- 2010-12-20 CN CN 201010595749 patent/CN102023891A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005001695A1 (ja) * | 2003-06-30 | 2005-01-06 | Matsushita Electric Industrial Co., Ltd. | ガーベジコレクションシステム |
CN1648879A (zh) * | 2004-01-28 | 2005-08-03 | 三星电子株式会社 | 自适应垃圾收集方法及设备 |
CN101075209A (zh) * | 2006-04-28 | 2007-11-21 | 国际商业机器公司 | 在异构多处理器***中收集垃圾的***和方法 |
Non-Patent Citations (1)
Title |
---|
《复旦大学》 20091231 周寻 基于多核环境下的高效并发性垃圾收集器 第5页至第40页 1-2 , * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243596A (zh) * | 2011-08-09 | 2011-11-16 | 复旦大学 | 一种自适应动态代码卸载方法 |
CN102411513A (zh) * | 2011-08-10 | 2012-04-11 | 复旦大学 | 一种工作于混合模式执行引擎中的垃圾收集方法 |
CN102411513B (zh) * | 2011-08-10 | 2013-10-16 | 复旦大学 | 一种工作于混合模式执行引擎中的垃圾收集方法 |
CN102722447A (zh) * | 2012-06-06 | 2012-10-10 | 北京航空航天大学 | 一种内存垃圾收集器中对象状态的增量式跟踪记录方法 |
CN102722447B (zh) * | 2012-06-06 | 2015-01-14 | 北京航空航天大学 | 一种内存垃圾收集器中对象状态的增量式跟踪记录方法 |
US11003578B2 (en) | 2016-03-29 | 2021-05-11 | Banma Zhixing Network (Hongkong) Co., Limited | Method and system for parallel mark processing |
CN107239406B (zh) * | 2016-03-29 | 2021-03-09 | 斑马智行网络(香港)有限公司 | 用于垃圾回收的并行标记处理方法及装置 |
WO2017167061A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 用于垃圾回收的并行标记处理方法及装置 |
CN107239406A (zh) * | 2016-03-29 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 用于垃圾回收的并行标记处理方法及装置 |
CN106293939B (zh) * | 2016-08-05 | 2019-10-18 | 北京航空航天大学 | 一种在内存垃圾收集器中动态重用对象的方法 |
CN106293878B (zh) * | 2016-08-05 | 2019-08-27 | 北京航空航天大学 | 一种在jvm中动态计算对象重用价值的方法 |
CN106293878A (zh) * | 2016-08-05 | 2017-01-04 | 北京航空航天大学 | 一种在jvm中动态计算对象重用价值的方法 |
CN106293939A (zh) * | 2016-08-05 | 2017-01-04 | 北京航空航天大学 | 一种在内存垃圾收集器中动态重用对象的方法 |
CN110291508A (zh) * | 2017-02-01 | 2019-09-27 | 微软技术许可有限责任公司 | 垃圾收集器 |
US10241716B2 (en) | 2017-06-30 | 2019-03-26 | Microsoft Technology Licensing, Llc | Global occupancy aggregator for global garbage collection scheduling |
US10248562B2 (en) | 2017-06-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Cost-based garbage collection scheduling in a distributed storage environment |
CN108446162A (zh) * | 2018-02-13 | 2018-08-24 | 南京途牛科技有限公司 | 监测JVM Full GC事件的方法及*** |
CN108446162B (zh) * | 2018-02-13 | 2021-11-26 | 南京途牛科技有限公司 | 监测JVM Full GC事件的方法及*** |
CN108536537A (zh) * | 2018-03-29 | 2018-09-14 | 北京白山耘科技有限公司 | 一种进程资源回收方法及装置 |
CN113360274A (zh) * | 2020-03-04 | 2021-09-07 | 阿里巴巴集团控股有限公司 | 垃圾回收方法、装置及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102023891A (zh) | 基于Java虚拟机的并发垃圾收集器框架 | |
CN107203552B (zh) | 垃圾回收方法及装置 | |
CN102073698B (zh) | 企业级数据仓库***的样本数据获取方法及装置 | |
US7613753B2 (en) | Platform and method for functional programming (FP) processing | |
US9189393B2 (en) | Computer, control method of computer, and recording medium | |
CN108279892A (zh) | 一种拆分大型应用服务为微服务的方法、装置及设备 | |
CN102170474A (zh) | 一种云计算网络中虚拟资源动态调度方法及*** | |
CN102163161A (zh) | 一种进程管理方法及装置 | |
CN102521024B (zh) | 基于生物信息云平台的作业调度方法 | |
CN101158917A (zh) | 一种软件版本升级安装测试***及方法 | |
CN101916224A (zh) | 测试进程异常检测方法以及自动化测试控制装置 | |
CN105912387A (zh) | 数据处理作业调度方法及装置 | |
CN102768637A (zh) | 一种控制测试执行的方法及装置 | |
CN101876918B (zh) | 虚拟机客户操作***同步任务感知方法 | |
CN103440296A (zh) | 数据查询方法和装置 | |
CN102446167B (zh) | 一种基于逻辑模板对复杂字符串逻辑处理的方法和装置 | |
US20230244588A1 (en) | Parallel program scalability bottleneck detection method and computing device | |
KR20070088099A (ko) | 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법 | |
CN111124648B (zh) | 多任务执行方法和装置 | |
CN102411513B (zh) | 一种工作于混合模式执行引擎中的垃圾收集方法 | |
CN102541750A (zh) | 数据快照的实现方法和装置 | |
CN102455932B (zh) | 一种任务实例串行执行方法、装置及*** | |
Dai et al. | Research and implementation of big data preprocessing system based on Hadoop | |
CN110502337B (zh) | 针对Hadoop MapReduce中混洗阶段的优化*** | |
CN104461832A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110420 |