CN100349114C - 用于增加java程序处理能力的系统和方法 - Google Patents

用于增加java程序处理能力的系统和方法 Download PDF

Info

Publication number
CN100349114C
CN100349114C CNB2005100020788A CN200510002078A CN100349114C CN 100349114 C CN100349114 C CN 100349114C CN B2005100020788 A CNB2005100020788 A CN B2005100020788A CN 200510002078 A CN200510002078 A CN 200510002078A CN 100349114 C CN100349114 C CN 100349114C
Authority
CN
China
Prior art keywords
class file
class
compiler
information
loading
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
CNB2005100020788A
Other languages
English (en)
Other versions
CN1641571A (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 CN1641571A publication Critical patent/CN1641571A/zh
Application granted granted Critical
Publication of CN100349114C publication Critical patent/CN100349114C/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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K3/00Baths; Douches; Appurtenances therefor
    • A47K3/28Showers or bathing douches
    • A47K3/30Screens or collapsible cabinets for showers or baths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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/445Program loading or initiating
    • 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
    • G06F9/45525Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2900/00Application of doors, windows, wings or fittings thereof
    • E05Y2900/10Application of doors, windows, wings or fittings thereof for buildings or parts thereof
    • E05Y2900/114Application of doors, windows, wings or fittings thereof for buildings or parts thereof for showers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

一种用于增加Java程序的处理能力的系统和方法。在该方法中,类加载器从预定的存储区域将类文件传输或加载到具有预定的大小的物理单元中的存储器。加载时编译器链接并编译已经由类加载器加载到物理单元中的类文件。当链接和编译类文件时,加载时编译器确定已经被传输到物理单元中的存储器的类文件中是否包含逻辑单元信息,链接该逻辑单元信息,并且当该逻辑单元信息对应于Java方法时编译该方法。

Description

用于增加JAVA程序处理能力的系统和方法
技术领域
本发明涉及一种用于增加Java程序处理能力的系统和方法,更具体地说,涉及一种用于通过在Java虚拟机中同时地加载和编译类文件来增加Java程序处理能力的系统和方法。
背景技术
图1示出配备有Java虚拟机的传统的信息设备的结构。该信息设备可以是便携电话、个人数字助理(PDA)、数字电视(TV)、机顶盒、个人电脑(PC)或类似物。
该信息设备包括中央处理单元(CPU)、网络接口、例如硬盘或闪速存储器的永久存储器、主存储器、输入装置、输出/显示装置和用于连接其它装置的连接装置。
Java虚拟机驻留在信息设备的主存储器中,并且组成Java应用程序的Java类被加载到主存储器上。输入装置可以是PC的键盘或鼠标或数字TV或机顶盒的遥控接收器。输出/显示装置可以是PC的图形适配器或安装在数字TV中或外部连接到数字TV的显示装置。连接装置可以是通用串行总线(USB)、IEEE 1394、RF装置、红外装置或蓝牙装置。如上所述,Java虚拟机可以被驱动的环境能被包括在所有类型的信息设备中,而不局限于特定类型的设备。
此外,Java类可以通过网络接口被外部地接收,可以从永久存储器接收,或可以从连接到外部装置连接器的外部装置接收。通过特定的网络连接器,网络接口将信息设备连接到外部服务器,并传输Java类。网络的类型可以是例如局域网(LAN)或广域网(WAN)的有线的包通信网络、例如无线LAN、无线码分多址(CDMA)网络、无线全球移动系统(GSM)网络,或无线通用分组无线业务(GPRS)网络的无线/移动通信网络、或例如空中传输(over-the-air)数字TV网、有线TV网、或卫星TV网的有线/无线广播网。换句话说,网络的类型不限于特定的类型而可以是多种类型的网络中的任何一种。
图2示出传统的Java虚拟机的结构。传统的Java虚拟机主要包括:类加载器10,解释器20,编译器30,和运行时系统40。
类加载器10从网络或文件系统读取Java类文件,根据包含在Java类文件中的内部信息适当地将Java类文件放置在存储器中,并初始化Java类文件的内部状态。
解释器20被提供以运行包含在Java类文件中的可执行代码。更明确地讲,解释器20识别并执行Java字节码指令。换句话说,解释器20识别并执行包含在由类加载器10读取的Java类文件中的方法的字节码。
编译器30在执行Java类文件期间将Java字节码转换成用于安装在信息设备中的CPU的机器码。即时(JIT)编译器被广泛地用作编译器30。换句话说,编译器30将包含在由类加载器10读取的Java类文件中的方法的字节码转换成用于CPU的机器码。
运行时系统40联系并管理Java虚拟机的部件,即:类加载器10、解释器20和编译器30。
图3示出传统的Java类文件的结构。
Java类通常以命名为类文件的特定的文件格式传输或储存。类文件包含类的多个属性。类文件包含:指出类的基本属性的类头、管理所有的常量的常量池、含有关于类文件的接口的信息的接口、含有关于字段的信息的字段、和含有定义在类文件中的每一方法的可执行字节码的方法。
图4是在传统的Java虚拟机中传输并执行Java类文件的过程的流程图。传输Java类文件包含加载、初始化和执行。
加载包含从网络或盘将Java类文件传输到存储器和链接处理。链接包含验证、准备和解析。
验证是验证Java类文件的结构和内容是否正确的处理。在该处理中,验证包含在类方法中的所有的字节码是否有效。准备是设置定义在类中的常量或变量的缺省值的处理。解析是将在常量池中描述的符号替换成用于执行的必要的资源的物理位置信息。
加载之后,加载到存储器中的类文件被初始化并且随后被执行。在执行中,执行模式根据包含在类中的可执行代码来确定。
当方法包含字节码时,确定是否将字节码转换成用于CPU的机器码。当确定不将字节码转换成机器码时,解释器直接逐一读取并执行字节码。当确定将字节码转换成机器码时,编译器读取字节码并将它们转换成机器码,然后机器码被直接执行。
传统地,类文件的传输和链接被顺序地执行,并且直到类文件被完全地传输链接才被执行。因此,执行类文件的传输、链接、初始化和运行占用大量的时间。更具体地讲,当类文件通过网络被传输时,类文件的传输所需的时间根据网络的带宽或类文件的大小而变化。
此外,在链接处理中,在验证类文件期间消耗大量的CPU资源。而且,在执行期间编译方法的处理中消耗额外的时间。特别地,随着更多高级的编译技术被使用,编译所需的时间增加。结果,由于一系列这样的处理,应用程序的整体性能恶化。
标题为“字节码执行处理,方法,数据处理系统,和实现它们的计算机程序产品(Bytecode Execution Process,Method,Data Processing System,andComputer Program Products Implementing then)”的公开号为2000-0057010的韩国专利公开了字节码执行处理,其包含:使用类加载器加载用于执行的字节码,确定是否编译该字节码,并将该字节码传输给JIT编译器,或当确定不将该字节码JIT编译时将该字节码传输给解释器。然而,在加载字节码的处理中同时地执行字节码的传输、链接和编译的方法从未被公开。
发明内容
本发明提供一种用于通过在Java虚拟机中同时执行类文件的加载和编译来增加Java程序的处理能力从而增加应用程序的整体性能的系统和方法。
根据本发明的一方面,提供一种用于增加Java程序的处理能力的系统。该系统包括:加载Java程序的类文件的类加载器;和编译由类加载器加载的类文件的加载时编译器(load-time compiler)。
根据本发明的另一方面,提供一种增加Java程序处理能力的方法。该方法包括:允许类加载器将类文件从预定的存储区域传输到具有预定的大小的物理单元中的存储器;确定逻辑单元信息是否包含在已经被传输到存储器的类文件的物理单元中;和允许加载时编译器编译包含在传输的类文件中的逻辑单元信息。
附图说明
通过参考附图对其优选实施例进行的详细描述,本发明的上述和其他特点和优点将会变得清楚,其中:
图1示出装备有Java虚拟机的传统的信息设备的结构;
图2示出传统的Java虚拟机的结构;
图3示出传统的Java类文件的结构;
图4是在传统的Java虚拟机中传输并执行Java类文件的过程的流程图;
图5是根据本发明实施例的用于增加Java程序处理能力的系统的示意图;
图6是根据本发明实施例的增加Java程序处理能力的方法的示意性流程图;
图7是根据本发明实施例的由加载时编译器执行的编译操作的流程图。
具体实施方式
现在将参考附图对本发明的示例性实施例进行详细的描述。
图5是根据本发明实施例的用于增加Java程序处理能力的系统的示意图。该系统包含类加载器110、加载时编译器120、和运行时系统130。
类加载器110将Java程序的类文件加载到存储器。更明确地,类加载器110将类文件从预定的存储区域加载到具有预定的大小的物理单元中。此外,类加载器110标记到当前为止已经传输的类文件的数量以使加载时编译器120能在链接和编译该类文件时参考传输的类文件的数量。该预定的存储区域可以是通过网络或盘连接的远程系统。类文件被分成具有预定的大小的单元,例如,当类文件被通过网络传输时的包或当类文件被从盘传输时的块。
加载时编译器120链接并编译由类加载器110加载的类文件。更明确地,加载时编译器120确定到当前为止已经由类加载器110加载到物理单元中的类文件是否包含特定类型的逻辑单元信息,链接逻辑单元信息,并当该逻辑单元信息对应于方法时,编译包含在该方法中的字节码。加载时编译器120参考由类加载器110标记的当前传输的类文件的数量来确定到当前为止加载的类文件是否包含逻辑单元信息,然后链接并编译类文件。换句话说,在类加载器110从例如通过网络或盘连接的远程系统将类文件加载到存储器并标记到当前为止传输的类文件的数量之后,加载时编译器120检查标记的传输的类文件的数量,然后链接并编译包含在到当前为止传输的数个类文件中的特定类型的逻辑单元信息。逻辑单元信息可以是包含在类文件中的类头信息、常量池信息、接口信息、字段信息和方法信息之一。
此外,加载时编译器120在链接和编译期间执行验证、准备和解析。
运行时系统130管理运行类文件所需的资源。类加载器110和加载时编译器120使用各自的线程同时地运行。
同时,被用于传统的Java虚拟机中的解释器20和编译器30可以被可选地包含在本发明的Java虚拟机100中或从其中排除。换句话说,当在本发明的实施例中,每一个类文件被在加载时不考虑类文件的类型而被基本地编译时,不需要解释器20和编译器30。然而,当在本发明的另一种实施例中,特定类型的类文件或特定类型的类文件方法不被编译时,需要解释器20和编译器30来直接地运行字节码并在运行期间编译该字节码。
在本发明的实施例中,Java虚拟机100已经被描述。然而,本发明可被应用于提供等同于Java虚拟机的功能的其它类型的虚拟机,例如Microsoft的通用语言运行时(CLR)虚拟机和Smalltalk虚拟机。
图6是根据本发明实施例的增加Java程序处理能力的方法的示意性的流程图。参考图5和图6,在操作步骤S100中,类加载器110启动从预定的存储区域传输或加载在具有预定的大小的物理单元中的类文件到存储器中。这时,类加载器110标记到当前为止已经被传输的类文件的物理单元的数量使得当编译该类文件时加载时编译器120能参考标记的传输的类文件的数量。
加载时编译器120检查标记的到当前为止传输的类文件的数量,然后在操作步骤S110中确定所有的将被处理的特定类型的逻辑单元信息是否包含在一个或多个加载到存储器中的类文件的物理单元中。这里,逻辑单元信息可以是包含在类文件中的类头信息、常量池信息、接口信息、字段信息和方法信息中的一种。
其次,当确定所有的特定类型的逻辑单元信息包含在到当前为止传输的类文件中时,在操作步骤S120中,加载时编译器120链接并编译该特定类型的逻辑单元信息。然而,当确定到当前为止传输的类文件中没有包含所有的特定类型的逻辑单元信息时,在操作步骤S130中加载时编译器120挂起线程并待机直到类加载器110将后面的类文件的物理单元加载到存储器。
在操作步骤S140中,加载后面的类文件的物理单元之后,类加载器110标记传输的类文件的增量并唤醒加载时编译器120的线程。重复操作步骤S110、S120、S130和S140直到在操作步骤S150中加载时编译器120处理包含在完整的类文件中的所有类型的逻辑单元信息。
其间,类加载器110和加载时编译器120分别使用各自的线程同时地运行。
在下文中,将参照图7详细描述根据本发明实施例的用于确定特定类型的逻辑单元信息是否包含在类文件中的过程和用于链接并编译类文件的过程。
图7是根据本发明实施例的由加载时编译器执行的链接和编译操作的流程图。在图7中显示的操作步骤可以被应用到在图6中显示的方法以确定特定类型的逻辑单元信息是否包含在类文件中并链接和编译该类文件。
参考图5和图7,在操作步骤S200中,加载时编译器120确定将要被处理的相应于逻辑单元信息的完整的类头信息是否包含在到当前为止已经由类加载器110加载到存储器的类文件中。
当确定当前的类文件包含完整的类头信息时,在操作步骤S210中类头信息的链接,即验证被执行。然而,当确定当前的类文件没有包含完整的类头信息时,在操作步骤S211中,加载时编译器120待机直到类加载器110加载类文件的后面的物理单元。
然后,在操作步骤S220到S291中,确定常量池信息、接口信息、字段信息和方法信息是否包含在到当前为止由类加载器110加载的类文件中,执行常量池信息、接口信息、字段信息和方法信息的链接,并加载后面的类文件的物理单元。操作步骤S220到S291以与执行操作步骤S200到S211相同的方式执行。然而,包含在方法中的字节码的编译可以在处理该方法信息时被另外地执行。
如此地描述了本发明的某些实施例后,在不脱离本发明的精神和范围的情况下,各种变换、修改和改进将对本领域的普通技术人员非常清楚。因此,前面的描述和附图不意味着限定。
如上所述,根据本发明,Java虚拟机同时地执行类文件的加载和编译使得编译在类文件的加载时被执行,因此提高了应用程序的整体运行性能。
此外,根据本发明,在类文件被加载之后执行的编译处理造成的时间延迟能被最小化。另外,由于使用用于CPU的机器码直接地执行类文件方法,用于在类文件的传输和加载之后执行的编译的时间和类的执行时间能被减少。由于在单一的编译操作期间处理的类文件的大小与传统的编译方法相比被减小,类文件的传输时间能被减少。
而且,由于本发明允许利用现存的类文件的标准格式,虚拟机的优点,即便携性能被充分地利用。

Claims (15)

1、一种用于增加Java程序的处理能力的系统,该系统包括:
类加载器,用于加载Java程序的类文件;和
加载时编译器,用于编译由类加载器加载的类文件,
其中,类加载器和加载时编译器使用各自的线程执行同时的操作。
2、如权利要求1所述的系统,其中,类文件被加载到具有预定的大小的物理单元中。
3、如权利要求1所述的系统,其中,加载时编译器确定下次将被处理的逻辑单元信息是否包含在类文件中,并且如果包含,则编译该逻辑单元信息。
4、如权利要求3所述的系统,其中,逻辑单元信息是指类头信息、常量池信息、接口信息、字段信息和方法信息中的任一种。
5、如权利要求3所述的系统,其中,加载时编译器在编译逻辑单元信息期间验证Java类文件的结构和内容是否正确。
6、如权利要求3所述的系统,其中,加载时编译器在编译逻辑单元信息期间执行设置在至少一个类中定义的变量的缺省值的准备。
7、如权利要求1所述的系统,其中,加载时编译器在编译逻辑单元信息期间执行至少一个其它类的字段和方法中的一个的参考值的解析。
8、一种增加Java程序处理能力的方法,该方法包括:
在类加载器上,将类文件从预定的存储区域传输到具有预定的大小的物理单元中的存储器:
确定逻辑单元信息是否包含在已经被传输到存储器的类文件的物理单元中;和
在加载时编译器上,编译包含在传输的类文件中的逻辑单元信息,
其中,类加载器和加载时编译器的操作使用各自的线程,被同时执行。
9、如权利要求8所述的方法,其中,预定的存储区域是指外部存储装置和信息设备中的一个,其中,所述外部存储装置和信息设备中的一个被连接到通过网络、盘和外部连接装置中的至少一种连接的远程系统。
10、如权利要求9所述的方法,其中,所述外部连接装置包含通用串行总线连接器、IEEE 1394连接器、RF连接器、红外连接器和蓝牙连接器中的至少一种。
11、如权利要求8所述的方法,其中,逻辑单元信息包括类头、常量池、接口、字段和方法中的至少一种。
12、如权利要求8所述的方法,其中,确定步骤包括:当确定传输到存储器的类文件没有包含所有的逻辑单元信息时,待机以传输类文件的后面的物理单元。
13、如权利要求8所述的方法,其中,编译步骤包括:在编译逻辑单元信息期间验证Java类文件的结构和内容是否正确。
14、如权利要求8所述的方法,其中,编译步骤包括:在编译逻辑单元信息期间执行设置定义在类中的变量的缺省值的准备。
15、如权利要求8所述的方法,其中,编译步骤包括:在编译逻辑单元信息期间执行至少一个其它类的字段和方法中的一个的参考值的解析。
CNB2005100020788A 2004-01-14 2005-01-14 用于增加java程序处理能力的系统和方法 Expired - Fee Related CN100349114C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR2655/2004 2004-01-14
KR1020040002655A KR100654428B1 (ko) 2004-01-14 2004-01-14 자바 프로그램의 처리 속도를 향상시키는 시스템 및 그 방법
KR2655/04 2004-01-14

Publications (2)

Publication Number Publication Date
CN1641571A CN1641571A (zh) 2005-07-20
CN100349114C true CN100349114C (zh) 2007-11-14

Family

ID=36096309

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100020788A Expired - Fee Related CN100349114C (zh) 2004-01-14 2005-01-14 用于增加java程序处理能力的系统和方法

Country Status (5)

Country Link
US (1) US20050155028A1 (zh)
EP (1) EP1669861A3 (zh)
JP (1) JP2005202963A (zh)
KR (1) KR100654428B1 (zh)
CN (1) CN100349114C (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844960B2 (en) * 2005-09-14 2010-11-30 International Business Machines Corporation Optimizing software program execution during class loading phase
CN100339831C (zh) * 2005-12-14 2007-09-26 浙江大学 应用于Java操作系统中虚拟机的编译体系实现方法
WO2007111751A2 (en) * 2005-12-20 2007-10-04 Springett John C Architecture for a smart enterprise framework and methods thereof
KR100765602B1 (ko) * 2006-02-03 2007-10-09 현대자동차주식회사 무선통신 환경에서의 대용량 메시징 데이타 분할 전송시스템 및 방법
KR100818919B1 (ko) 2006-02-24 2008-04-03 삼성전자주식회사 메소드 호출 방법 및 이를 이용한 자바 가상 머신
US8250559B2 (en) * 2006-04-12 2012-08-21 Oracle America, Inc. Supporting per-program classpaths with class sharing in a multi-tasking virtual machine
KR100828364B1 (ko) * 2006-06-28 2008-05-08 삼성전자주식회사 가상 프로파일을 이용한 자바 jit 컴파일 방법 및시스템
KR101235414B1 (ko) * 2006-08-18 2013-02-20 엘지전자 주식회사 데이터 방송 수신기에서 스레드 관리 방법
CN100465894C (zh) * 2007-01-12 2009-03-04 中山大学 一种Java Processor启动时类装载方法
CN102103489A (zh) * 2011-01-28 2011-06-22 武汉天喻信息产业股份有限公司 一种提高静态域访问指令执行效率的方法
US10216500B2 (en) * 2012-02-10 2019-02-26 Oracle International Corporation Method and apparatus for synchronization annotation
US9298448B2 (en) * 2013-05-21 2016-03-29 Red Hat, Inc. System and method for run time dependency resolution
CN103729235A (zh) * 2013-12-24 2014-04-16 华为技术有限公司 Java虚拟机的编译方法和Java虚拟机
US9286085B2 (en) 2014-06-27 2016-03-15 International Business Machines Corporation Correlating class loader objects across execution environments
CN105446709B (zh) * 2014-07-29 2019-06-21 阿里巴巴集团控股有限公司 一种Java应用处理方法及装置
CN106681749B (zh) * 2015-11-11 2021-01-05 腾讯科技(深圳)有限公司 基于安卓平台的局部代码补丁更新方法及装置
CN110119274A (zh) * 2018-02-05 2019-08-13 北京智明星通科技股份有限公司 一种数据编译的方法、装置以及电子终端、计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238500A (zh) * 1998-04-07 1999-12-15 太阳微系统公司 用于进行静态初始化的方法和系统
GB2365554A (en) * 2000-05-31 2002-02-20 Ibm Virtual machine support for multiple aplications
JP2002073345A (ja) * 2000-08-25 2002-03-12 Fujitsu Ltd 情報処理装置及び記録媒体
US20020095664A1 (en) * 2001-01-18 2002-07-18 Wangtun Chou Pre-interpretation and execution method for Java computer program language
CN1427968A (zh) * 2000-03-09 2003-07-02 太阳微系统有限公司 用于在无虚拟存储管理器的数据处理设备中预加载类的系统和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075942A (en) * 1998-05-04 2000-06-13 Sun Microsystems, Inc. Encoding machine-specific optimization in generic byte code by using local variables as pseudo-registers
US6230184B1 (en) * 1998-10-19 2001-05-08 Sun Microsystems, Inc. Method and apparatus for automatically optimizing execution of a computer program
US6324687B1 (en) * 1998-12-03 2001-11-27 International Business Machines Corporation Method and apparatus to selectively control processing of a method in a java virtual machine
US6842894B1 (en) * 1999-04-05 2005-01-11 Gateway, Inc. Dynamic Compiling
US6711619B1 (en) * 1999-12-15 2004-03-23 Hewlett-Packard Development Company, L.P. Method, system, and apparatus for distributing and using computer-based applications over a network
US6918106B1 (en) * 2000-07-31 2005-07-12 Sun Microsystems, Inc. Method and apparatus for collocating dynamically loaded program files
KR20020032889A (ko) * 2000-10-27 2002-05-04 오길록 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법
US6964039B2 (en) * 2000-12-13 2005-11-08 Esmertec Ag Method to create optimized machine code through combined verification and translation of JAVA™ bytecode
US6718539B1 (en) * 2000-12-22 2004-04-06 Lsi Logic Corporation Interrupt handling mechanism in translator from one instruction set to another
KR100439186B1 (ko) * 2001-12-28 2004-07-05 한국전자통신연구원 자바 가상머신의 멀티 쓰레드 시스템에서의 동기화 장치및 방법
WO2004027600A1 (ja) * 2002-08-30 2004-04-01 Renesas Technology Corp. データ処理装置及びicカード
US7370321B2 (en) * 2002-11-14 2008-05-06 Microsoft Corporation Systems and methods to read, optimize, and verify byte codes for a multiplatform jit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238500A (zh) * 1998-04-07 1999-12-15 太阳微系统公司 用于进行静态初始化的方法和系统
CN1427968A (zh) * 2000-03-09 2003-07-02 太阳微系统有限公司 用于在无虚拟存储管理器的数据处理设备中预加载类的系统和方法
GB2365554A (en) * 2000-05-31 2002-02-20 Ibm Virtual machine support for multiple aplications
JP2002073345A (ja) * 2000-08-25 2002-03-12 Fujitsu Ltd 情報処理装置及び記録媒体
US20020095664A1 (en) * 2001-01-18 2002-07-18 Wangtun Chou Pre-interpretation and execution method for Java computer program language

Also Published As

Publication number Publication date
CN1641571A (zh) 2005-07-20
EP1669861A2 (en) 2006-06-14
KR20050074766A (ko) 2005-07-19
EP1669861A3 (en) 2008-02-06
JP2005202963A (ja) 2005-07-28
KR100654428B1 (ko) 2006-12-06
US20050155028A1 (en) 2005-07-14

Similar Documents

Publication Publication Date Title
CN100349114C (zh) 用于增加java程序处理能力的系统和方法
EP1410209B1 (en) System and method for field diagnosis of wireless communications device system software
CN110187912B (zh) 一种节点选择方法和装置
US6295645B1 (en) Method and apparatus for providing downloadable functionality to an embedded coprocessor
EP0930567A2 (en) Method and apparatus for extending security model to native code
US20040205746A9 (en) System and method for field diagnosis of wireless communications device system software
CN110673887B (zh) 应用程序启动方法、装置、终端设备及可读存储介质
US7155550B2 (en) Program-executing apparatus and portable information processing apparatus
CN110058850B (zh) 一种应用的开发方法、装置以及存储介质
Lopes et al. MASPOT: A mobile agent system for Sun SPOT
CN112527449B (zh) 一种集群节点标签创建方法、系统及电子设备和存储介质
CN101627368A (zh) 计算机图形再现
US20210091888A1 (en) Data indicating method and related products
KR100725386B1 (ko) 가상 머신 어플리케이션을 실행하는 방법 및 그 방법을이용한 디지털 방송 수신기
CN113946602A (zh) 数据查找方法、装置、设备和介质
EP0930793A1 (en) Mobile equipment with a plurality of processors
CN106775916B (zh) 减小应用安装包的方法、装置及电子设备
CN111198770B (zh) Ros1消息的通信方法、装置和系统、转换方法和装置
CN108459885A (zh) 一种资源分散加载的方法及其单片机
CN111078233B (zh) 一种应用推广的实现方法、装置、设备及存储介质
CN104199656A (zh) 一种定制信息添加方法及装置
US20050055663A1 (en) Method and apparatus for continuation-passing in a virtual machine
CN106484375B (zh) 一种指令块加载方法、软交换设备及系统
KR102550574B1 (ko) 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법
CN101197959A (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: 20071114

Termination date: 20200114