CN1260651C - 用于在爪哇程序中缩短字节代码的编译时间的系统和方法 - Google Patents

用于在爪哇程序中缩短字节代码的编译时间的系统和方法 Download PDF

Info

Publication number
CN1260651C
CN1260651C CN200410002968.4A CN200410002968A CN1260651C CN 1260651 C CN1260651 C CN 1260651C CN 200410002968 A CN200410002968 A CN 200410002968A CN 1260651 C CN1260651 C CN 1260651C
Authority
CN
China
Prior art keywords
code
memory unit
machine code
syllabified
unit
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
CN200410002968.4A
Other languages
English (en)
Other versions
CN1525321A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1525321A publication Critical patent/CN1525321A/zh
Application granted granted Critical
Publication of CN1260651C publication Critical patent/CN1260651C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

提供了一种系统和方法,其中当执行Java程序时,频繁使用的字节代码被编译为对应的本机代码,并且存储所得的本机代码,因而当将来执行该Java程序时,相关字节代码的本机代码就能被重新获得和执行,因此缩短了通过对该字节代码进行编译以产生本机代码所需的时间。

Description

用于在爪哇程序中缩短字节代码 的编译时间的系统和方法
本发明要求于2003年2月24日在韩国知识产权局提交的韩国专利申请No.10-2003-0011366的优先权,其公开内容全部引用于此作为参考。
技术领域
本发明涉及一种用于在Java(爪哇)程序中缩短字节代码的编译时间的系统和方法,特别涉及一种用于在Java程序中缩短字节代码的编译时间的系统和方法,其中当执行Java程序时频繁使用的字节代码就被编译,并且当在将来使用到该Java程序时,所得的本机代码就被重新得到并运行,因而缩短了该本机代码的编译时间。
背景技术
一般来讲,由Java程序源代码的编译过程产生的字节代码是由Java虚拟机(JVM)执行的。最近,为了增强Java虚拟机的执行速度,用CPU将字节代码解译为可直接运行的本机代码的方法已经被广泛地使用。
在这些方法中,在动态自适应编译(DAC)中,字节代码被解译而那些被频繁使用的、被分类为瓶颈字节代码的字节代码,被编译为本机代码以执行。即,DAC方法只将频繁使用的字节代码编译为本机代码,而不是程序中的所有字节代码。
然而,这里的问题是,一旦缺少内存,在字节代码执行期间所产生的本机代码就会被垃圾收集器收集,而且,由于在Java程序被完全运行以后所有的本机代码都被删除,而不能在将来的执行中再次使用。
因为大部分曾经被编译为本机代码的字节代码倾向于为将来的运行而被重复编译,这里的问题是删除本机代码导致了在将来的运行中所用的本机代码的重复产生。因此,在譬如具有低性能CPU和低容量电池的移动终端的系统中,传统方法的问题在于系统的响应时间增加和电池迅速地消耗。
发明内容
本发明就是用来解决上述问题的。本发明的一个目的是提供一种用于在Java程序中缩短字节代码的编译时间的系统和方法,其中当运行Java程序时对频繁使用的相关字节代码进行编译,并且所得本机代码被存储,因而,当将来运行该Java程序,时相关字节代码的本机代码就能被重新获得和执行。
本发明的另一个目的是提供一种用于在Java程序中缩短字节代码的编译时间的系统和方法,缩短了在具有低性能CPU和低容量电池的设备中Java程序的编译时间和执行时间,因此减少了对用户的响应时间并保存了电池能量。
根据本发明的一个示例方面,为了达到上述目的,提供了一种用于在Java程序中缩短字节代码的编译时间的系统,该系统包括:类装载器单元,用于装载通过编译Java程序源代码所产生的字节代码;第一存储器单元,用于在可访问状态下保持由类装载器单元装载的字节代码和通过编译该字节代码所产生的本机代码;第二存储器单元,用于在可访问状态下存储装载在第一存储器单元中的本机代码;本机代码管理器单元,用于根据类装载器单元的请求,搜索存储在第二存储器单元中的本机代码,并将搜索到的本机代码装载在第一存储器单元中;以及执行单元,用于在可访问状态下执行装载在第一存储器单元中的本机代码,其中该执行单元包括:字节代码解译器,用于在可访问的状态下对装载在第一存储器单元中的字节代码进行解译以便执行;运行时间解析器,用于检验由字节代码解译器解译的字节代码是否是频繁使用的字节代码;以及本机代码编译器,用于如果检验的字节代码被运行时间解析器确定为频繁使用的字节代码,则将检验的字节代码编译为本机代码。
另外,根据本发明的另一个示例方面,提供了一种用于在Java程序中缩短字节代码的编译时间的方法,该方法包括步骤:由类装载器单元装载编译的字节代码;请求本机代码管理器单元搜索对应于装载的字节代码的本机代码;在第二存储器单元中搜索请求的本机代码;将搜索到的本机代码发送到第一存储器单元;以及,由代码执行单元执行发送的本机代码。
附图说明
通过对下面结合了附图的说明性、非限定实施例的说明,本发明的以上和其它目的和特征将变得更加清楚,其中:
图1是示意地说明用于在Java程序中缩短字节代码的编译时间的示例系统的方框图;以及
图2是示意地说明用于在Java程序中缩短字节代码的编译时间的示例方法的流程图。
具体实施方式
下面,将结合附图对本发明的说明性、非限定实施例进行详细的说明。
图1是示意地说明用于在Java程序中缩短字节代码的编译时间的示例系统的方框图。该系统包括:类装载单元100;第一存储器单元200;本机代码管理器单元300;第二存储器单元400;执行单元500和垃圾收集单元600。
类装载器单元100装载通过编译Java程序源代码产生的字节代码。这里,最初位于辅助存储器单元中的字节代码被装载在Java虚拟机中。
第一存储器单元200在可访问状态下保持由类装载器单元100装载的字节代码和通过编译该字节代码所产生的本机代码。即,由类装载器单元100装载的字节代码和通过编译该字节代码所产生的本机代码被存储在预定的存储区域,所以随后描述的执行单元500能够访问存储的本机代码。
第二存储器单元400在可访问状态下存储装载在第一存储器单元200中的本机代码。
本机代码管理器单元300将已经存储在第一存储器单元200中的本机代码存储到第二存储器单元400。本机代码管理器单元300根据类装载器单元100的请求搜索存储在第二存储器单元400中的本机代码,并将搜索到的本机代码装载在第一存储器单元200中。本机代码管理器单元300通过使用最近最少使用的(least recently used,LRU)方法管理存储在第二存储器单元400的本机代码。在LRU方法中,在存储的本机代码中很少使用的本机代码按照它们罕有使用的顺序被检验并删除。这里,很少使用的本机代码被删除,例如基于当它们被存储时的存储大小和时间。
执行单元500在可访问的状态下运行装载在第一存储器单元200中的本机代码和字节代码,执行单元500包括:字节解译器510;运行时间解析器520;本机代码编译器530和本机代码执行器540。
字节代码解译器510在可访问的状态下对装载在第一存储器单元200中的字节代码进行解译并执行解译的字节代码。
运行时间解析器520检验由字节代码解译器510解译的字节代码是否是频繁使用的字节代码,并将检验结果报告给本机代码编译器530。本机代码编译器530通过对解译的字节代码进行编译产生本机代码。此外,如果运行时间解析器520确认该字节代码是频繁使用的字节代码,则本机代码编译器530将编译的本机代码装载在第一存储器单元200中。
本机代码运行器540执行由本机代码管理器单元300装载在第一存储器单元中的本机代码。
垃圾收集单元600在第一存储器单元200中自动地收集被不用的代码占用的空间以在第一存储器单元200中获得更多的空间。如果即使在垃圾收集单元600收集了被不用的代码占用的空间之后在第一存储器单元200中还是发生了空间短缺,垃圾收集单元600请求本机代码管理单元300将本机代码存储到第二存储器单元400中。
图2是根据本发明的示意地说明用于在Java程序中缩短字节代码的编译时间的示例方法的流程图。
首先,类装载器单元100装载由编译Java程序源代码所产生的字节代码(S100)并请求本机代码管理器单元300搜索对应装载的字节代码的本机代码(S110)。然后,本机代码管理器单元300在第二存储器单元400中搜索请求的本机代码(S120)。
当在第二存储器单元400中找到对应的本机代码时(S130),搜索到的本机代码发送到第一存储器单元200(S132)。然后,本机代码运行器540运行发送到第一存储器单元200的本机代码(S134)。这里,存储在第二存储器单元400中的本机代码就是在Java程序中通过对频繁使用的字节代码进行编译所产生的本机代码。
在本发明,存储在第二存储器单元400中的本机代码仅仅是被装载在第一存储器单元中并在第一存储器单元中执行。因此,这样的优点就是不必每次都对频繁使用的字节代码进行解译,因而除去了字节解译过程。
同时,如果由本机代码管理器单元在第二存储器单元400中进行搜索的结果是没有对应相关字节代码的本机代码,则类装载器单元100发送装载的字节代码到第一存储器单元200(S140)。
当字节代码被装载在第一存储器单元200中时,字节代码解译器510对装载的字节代码进行解译以便执行(S150)。
在字节代码解译器510解译字节代码的同时,运行时间解析器520检验解译的字节代码是否是频繁使用的字节代码(S160)。然后,检验结果被发送到本机代码编译器530。
如果确定检验过程的结果是字节代码是频繁使用的字节代码(S170),解译的字节代码被发送到本机代码编译器530并进行编译以产生对应的本机代码(S172)。这里,本机代码被发送到第一存储器单元200然后由本机代码管理器单元300存储在第二存储器单元400中(S174)。此时,存储在第二存储器单元400中的本机代码由本机代码管理器单元300根据LRU方法进行管理。即,由于第二存储器单元400存储区域的限制,使用LRU方法来管理存储的本机代码。
然而,不是频繁使用的或在以前已经被定义为不用的字节代码,则将由字节腹面解译器510进行解译以便运行(S180)。
垃圾收集单元600在第一存储器单元200中自动地收集被不用的代码占用的空间以在第一存储器单元200中获得更多的空间。另外,如果即使在处理了不用的代码之后第一存储器单元200还是缺乏空间,本机代码管理单元300被请求存储已经装载在第一存储器单元200中的本机代码,因此在第一存储器单元200中获得了更多的空间。
根据本发明,当运行Java程序时,频繁使用的相关字节代码就被编译并被存储,因而,当将来运行该Java程序时,相关字节代码的本机代码就被重新得到并运行。因此,这里的优点就是缩短了通过编译字节代码产生本机代码所需的时间。
此外,这里的优点就是在具有低性能CPU和低容量电池的譬如蜂窝电话的设备中缩短了Java程序的编译时间和运行时间,因此减少了对用户的响应时间并保存了电池能量。
已经结合在附图中所示的并仅仅是本发明的例子的说明性、非限定实施例,对本发明进行了说明。本领域的技术人员能够理解,在不脱离权利要求书所定义的本发明的范围和精神的情况下,可以对其进行各种变化和改动。因此,实施例的简单改动应当属于本发明的范围之内。

Claims (14)

1.一种用于在Java程序中缩短字节代码的编译时间的系统,包括:
类装载器单元,用于装载通过编译Java程序源代码所产生的字节代码;
第一存储器单元,用于在可访问状态下保持由类装载器单元装载的字节代码和通过编译该字节代码所产生的本机代码;
第二存储器单元,用于在可访问状态下存储装载在第一存储器单元中的本机代码;
本机代码管理器单元,用于按照类装载器单元的请求,搜索存储在第二存储器单元中的本机代码,并将搜索到的本机代码装载在第一存储器单元中;以及
执行单元,用于在可访问状态下执行装载在第一存储器单元中的本机代码,其中该执行单元包括:
字节代码解译器,用于在可访问的状态下对装载在第一存储器单元中的字节代码进行解译以便执行;
运行时间解析器,用于检验由字节代码解译器解译的字节代码是否是频繁使用的字节代码;以及
本机代码编译器,用于如果检验的字节代码被运行时间解析器确定为频繁使用的字节代码,则将检验的字节代码编译为本机代码。
2.权利要求1所述的系统,还包括垃圾收集单元,用于在第一存储器单元自动地收集被不用的代码所占用的空间。
3.权利要求2所述的系统,其中如果在第一存储器单元中发生了空间短缺,垃圾收集单元请求本机代码管理单元将已经装载在第一存储器单元中的本机代码存储到第二存储器单元中。
4.权利要求1所述的系统,其中本机代码管理单元将已经装载在第一存储器单元中的本机代码存储到第二存储器单元中。
5.权利要求1所述的系统,其中本机代码管理单元使用最近最少使用的方法来管理存储在第二存储器单元中的本机代码。
6.权利要求4所述的系统,其中本机代码管理单元使用最近最少使用的方法来管理存储在第二存储器单元中的本机代码。
7.一种用于在Java程序中缩短字节代码的编译时间的方法,包括步骤:
(a1)由类装载器单元装载编译的字节代码;
(a2)请求本机代码管理器单元搜索对应于装载的字节代码的本机代码;
(a3)在第二存储器单元中搜索请求的本机代码;
(a4)将请求的本机代码发送到第一存储器单元;以及
(a5)由代码执行单元执行发送的本机代码。
8.权利要求7所述的方法,其中存储在第二存储器单元中的本机代码由本机代码管理器单元根据最近最少使用的方法进行管理。
9.权利要求7所述的方法,还包括步骤:如果搜索结果确定在第二存储器单元中没有对应的本机代码,则
(a6)发送由类装载单元装载的字节代码到第一存储器单元;以及
(a7)由字节代码解译器对发送到第一存储器单元的字节代码进行解译并执行。
10.权利要求9所述的方法,其中步骤(a7)包括步骤:由运行时间解析器检验由字节代码解译器解译的字节代码是否是频繁使用的字节代码。
11.权利要求10所述的方法,还包括步骤:如果根据检验结果该字节代码被确定为频繁使用的字节代码,则
(a8)通过对由字节代码解译器解译的字节代码进行编译,由本机代码编译器产生对应于频繁使用的字节代码的本机代码;
(a9)将产生的本机代码装载在第一存储器单元中;以及
(a10)由本机代码管理器单元将装载的本机代码存储在第二存储器单元中。
12.权利要求7所述的方法,其中如果Java程序的执行终止或在第一存储器单元中发生空间短缺,则装载在第一存储器单元中的本机代码被存储在第二存储器单元中。
13.权利要求9所述的方法,其中存储在第二存储器单元中的本机代码由本机代码管理器单元根据最近最少使用的方法进行管理。
14.权利要求12所述的方法,其中存储在第二存储器单元中的本机代码由本机代码管理器单元根据最近最少使用的方法进行管理。
CN200410002968.4A 2003-02-24 2004-01-21 用于在爪哇程序中缩短字节代码的编译时间的系统和方法 Expired - Fee Related CN1260651C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2003-0011366A KR100506522B1 (ko) 2003-02-24 2003-02-24 자바 프로그램에서 바이트 코드의 컴파일 시간 단축시스템 및 방법
KR0011366/2003 2003-02-24
KR0011366/03 2003-02-24

Publications (2)

Publication Number Publication Date
CN1525321A CN1525321A (zh) 2004-09-01
CN1260651C true CN1260651C (zh) 2006-06-21

Family

ID=32866937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200410002968.4A Expired - Fee Related CN1260651C (zh) 2003-02-24 2004-01-21 用于在爪哇程序中缩短字节代码的编译时间的系统和方法

Country Status (4)

Country Link
US (1) US20040168162A1 (zh)
JP (1) JP2004259252A (zh)
KR (1) KR100506522B1 (zh)
CN (1) CN1260651C (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7707547B2 (en) * 2005-03-11 2010-04-27 Aptana, Inc. System and method for creating target byte code
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
KR100763177B1 (ko) * 2005-04-21 2007-10-04 삼성전자주식회사 자바 가상 머신의 명령어 수행 방법 및 그 장치
US7870265B2 (en) * 2005-06-30 2011-01-11 Oracle International Corporation System and method for managing communications sessions in a network
KR101140522B1 (ko) * 2005-07-14 2012-04-30 에스케이플래닛 주식회사 객체 관리 시스템 및 방법
KR100678912B1 (ko) 2005-10-18 2007-02-05 삼성전자주식회사 메소드 바이트코드 해석 방법 및 상기 방법에 의해동작하는 시스템
CN101346634B (zh) * 2005-11-04 2012-10-24 甲骨文国际公司 用于通信网络中的网守的系统和方法
US20070169012A1 (en) * 2005-11-14 2007-07-19 Microsoft Corporation Asynchronous just-in-time compilation
US7353504B2 (en) * 2005-12-09 2008-04-01 Bea Systems, Inc. System and method for efficiently generating native code calls from byte code in virtual machines
CN100339831C (zh) * 2005-12-14 2007-09-26 浙江大学 应用于Java操作系统中虚拟机的编译体系实现方法
US8112525B2 (en) * 2006-05-16 2012-02-07 Oracle International Corporation Engine near cache for reducing latency in a telecommunications environment
US8001250B2 (en) * 2006-05-16 2011-08-16 Oracle International Corporation SIP and HTTP convergence in network computing environments
US8171466B2 (en) 2006-05-16 2012-05-01 Oracle International Corporation Hitless application upgrade for SIP server architecture
US8219697B2 (en) 2006-05-17 2012-07-10 Oracle International Corporation Diameter protocol and SH interface support for SIP server architecture
US7661027B2 (en) * 2006-10-10 2010-02-09 Bea Systems, Inc. SIP server architecture fault tolerance and failover
US20080086567A1 (en) * 2006-10-10 2008-04-10 Bea Systems, Inc. SIP server architecture for improving latency in message processing
US20080147551A1 (en) * 2006-12-13 2008-06-19 Bea Systems, Inc. System and Method for a SIP Server with Online Charging
US8078737B2 (en) * 2006-12-13 2011-12-13 Oracle International Corporation System and method for efficient storage of long-lived session state in a SIP server
US9667430B2 (en) * 2006-12-13 2017-05-30 Oracle International Corporation System and method for a SIP server with offline charging
US8341609B2 (en) * 2007-01-26 2012-12-25 Oracle International Corporation Code generation in the presence of paged memory
US8413125B2 (en) * 2007-01-26 2013-04-02 Oracle International Corporation Asynchronous dynamic compilation based on multi-session profiling to produce shared native code
US8037460B2 (en) * 2007-01-26 2011-10-11 Oracle International Corporation Code persistence and dependency management for dynamic compilation in a database management system
US7895475B2 (en) * 2007-07-11 2011-02-22 Oracle International Corporation System and method for providing an instrumentation service using dye injection and filtering in a SIP application server environment
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8527860B1 (en) 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8296745B2 (en) * 2007-12-31 2012-10-23 Oracle America, Inc. Method and apparatus for portable stub generation
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
KR101116939B1 (ko) 2009-12-10 2012-03-14 주식회사 엘지유플러스 이동 단말기 및 상기 이동 단말기에서 웹 애플리케이션 실행 방법
CN102135877B (zh) * 2010-01-27 2014-05-28 金蝶软件(中国)有限公司 自动化构建方法及装置
KR101334938B1 (ko) * 2012-06-20 2013-12-02 주식회사 한국스마트카드 스크립트 파일 기반으로 카드 처리를 수행하는 rf 결재 단말기
JP6127639B2 (ja) 2013-03-26 2017-05-17 富士通株式会社 プログラム実行制御プログラム、プログラム実行制御方法
JP6379654B2 (ja) * 2014-05-15 2018-08-29 富士通株式会社 処理実行プログラム、処理実行方法、及び情報処理装置
US9355011B2 (en) * 2014-06-09 2016-05-31 International Business Machines Corporation Detecting potential class loader problems using the class search path sequence for each class loader
US9864649B2 (en) * 2015-03-27 2018-01-09 Intel Corporation Technologies for root cause identification of use-after-free memory corruption bugs
CN110704036B (zh) * 2018-07-10 2023-05-26 阿里巴巴集团控股有限公司 构建脚本的方法、装置和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100466722B1 (ko) * 1996-01-24 2005-04-14 선 마이크로시스템즈 인코퍼레이티드 어레이경계검사방법및장치와,이를포함하는컴퓨터시스템
US6110226A (en) * 1998-02-19 2000-08-29 Cygnus Solutions Java development environment using optimizing ahead-of-time compiler
US6421689B1 (en) * 1998-06-30 2002-07-16 Oracle Corporation Moderately conservative, mostly copying 2 space garbage collector in the nursery of a generational memory manager
US6295638B1 (en) * 1998-07-30 2001-09-25 International Business Machines Corporation Method and apparatus for loading native object code in data processing system
US6295643B1 (en) * 1998-12-10 2001-09-25 International Business Machines Corporation Method and apparatus for improving java virtual machine performance using persistent execution information
JP2001056764A (ja) * 1999-08-18 2001-02-27 Access:Kk 仮想計算機の実行方法および装置
KR100319755B1 (ko) * 1999-12-02 2002-01-05 오길록 내장형 자바가상머신을 위한 바이트코드 압축 방법
US6484188B1 (en) * 1999-12-30 2002-11-19 Intel Corporation Optimization of garbage collection code in the context of raw native interface function calls in the java programming language
US6854115B1 (en) * 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
WO2004040445A1 (en) * 2002-10-29 2004-05-13 Freescale Semiconductor, Inc. Method and apparatus for selectively optimizing interpreted language code

Also Published As

Publication number Publication date
KR20040076048A (ko) 2004-08-31
CN1525321A (zh) 2004-09-01
KR100506522B1 (ko) 2005-08-03
US20040168162A1 (en) 2004-08-26
JP2004259252A (ja) 2004-09-16

Similar Documents

Publication Publication Date Title
CN1260651C (zh) 用于在爪哇程序中缩短字节代码的编译时间的系统和方法
US6434577B1 (en) Scalable-remembered-set garbage collection
KR100541174B1 (ko) 로컬화된 메모리 재이용을 가진 데이터 처리기
US6449626B1 (en) Reduced-cost remembered-set processing in a train-algorithm-based garbage collector
US6105040A (en) Method and apparatus for managing stored objects
CN100365577C (zh) 永久高速缓存装置和方法
US20050081190A1 (en) Autonomic memory leak detection and remediation
EP2147380A1 (en) System and method of managing indexation of flash memory
WO2001013238A1 (en) Train-algorithm-based garbage collector employing farthest-forward-car indicator
CN1251076C (zh) 用来提高至少一个程序执行速度的基于计算机平台的系统及方法
CN1687904A (zh) 智能卡存储环境的控制方法
CN1695117A (zh) 产生用于存储在具有有限存储单元的设备中的可解译代码的方法
CN1300681C (zh) 用于缩短java程序中的类加载处理的系统和方法
CN1829977A (zh) 利用一个栈跟踪高速缓存器改善垃圾收集的性能的方法和装置
US7318062B2 (en) Storing method metadata in code
CN115617762A (zh) 文件存储方法及设备
CN1139032C (zh) 减少存储器需求的程序代码执行装置和方法
EP1489518B1 (en) Embedded garbage collection
CN1269034C (zh) 一种嵌入式系统中可执行文件的压缩及其加载方法
US6785698B2 (en) Instance-reduction algorithm for garbage-collected language
US7150009B2 (en) Space-efficient object models for object-oriented programming languages
KR100502380B1 (ko) 포인터-고유명령변형교환메카니즘을포함하는쓰기배리어시스템및방법
CN114691242A (zh) 软件功能实现方法、装置、设备及存储介质
Suzuki et al. MOA—A fast sliding compaction scheme for a large storage space
Martin Garbage collection in java

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060621

Termination date: 20100221