CN1109971C - 具有修改的恒定存储区的java运行系统 - Google Patents
具有修改的恒定存储区的java运行系统 Download PDFInfo
- Publication number
- CN1109971C CN1109971C CN98813912A CN98813912A CN1109971C CN 1109971 C CN1109971 C CN 1109971C CN 98813912 A CN98813912 A CN 98813912A CN 98813912 A CN98813912 A CN 98813912A CN 1109971 C CN1109971 C CN 1109971C
- Authority
- CN
- China
- Prior art keywords
- memory block
- information
- storage area
- constant memory
- class
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 description 12
- 230000015572 biosynthetic process Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
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)
- Stored Programmes (AREA)
Abstract
建议一个Java运行系统,它包括一个基于堆栈的解释器,该解释器执行一个包括字节代码和类结构的程序。该系统还包括一个修改的恒定存储区,该恒定存储区具有只在链接期间使用的内部信息以及保留以备后期代码联编用的外部信息。在链接以后将所述内部信息从所述修改的恒定存储区中移去。
Description
技术领域
本发明涉及资源约束的Java运行环境中例如JavaCard中动态的代码下载和链接。
背景技术
在常规Java系统中,使用在所谓恒定存储区中的间接名称查表来解决对类结构(内部和外部)的访问。这一方案只能用于一个能提供通过处理能力和内部资源表达的足够资源的系统。
在一个资源约束运行系统(例如一个JavaCard)中,此方案并不乐观。相反地,可以使用已解决的对类结构的访问因而避免间址操作和避免对恒定存储区的维护。
发明内容
本发明的目的是解决访问(链接)。
本发明的一个目的是在资源约束Java运行环境中达到有效的链接。
本发明的一个目的是在资源约束Java运行环境中达到空间和运行时的有效链接。
为此,本发明提供了一种Java运行系统,包括一个基于堆栈的解释器,所述解释器执行一个包括字节代码和类结构的程序,所述系统还包括一个修改的恒定存储区,所述恒定存储区具有只在链接期间使用的内部信息以及保留以备后期代码联编用的外部信息,其中在链接以后将所述内部信息从所述修改的恒定存储区中移去。
本发明还提供了一种用于将新代码引入Java运行系统的方法,该Java运行系统包括基于堆栈的解释器,所述解释器执行一个包括字节代码和类结构的包,将所述新代码与在所述系统中存在的所述包链接(内部链接),从而由一个只在链接时间知道的访问来替代所述新代码相对于所述包本身的偏移量,从而使用包含于所述包的一个恒定存储区内的符号化信息(名称)来解决外部链接,至少将那些由所述只在链接时间知道的访问所替代的信息从恒定存储区内移去。
上述将新代码引入Java运行系统的方法还将用于与外部包链接的信息从所述恒定存储区内移去;并且其中所述恒定存储区内的余留信息允许以后下载的其他包和小应用程序适当地访问所述新代码(后期代码联编)。
附图说明
图1阐述具有JavaSoft建议的冠文件格式的链接。
图2阐述具有此处建议的文件格式的通过偏移量的链接。
图3阐述具有此处建议的文件格式的通过名称的链接。
具体实施方式
下面讨论本发明的一般回顾和实施方面。Java是一个由SunMicrosystems,Inc.2550 Garcia Ave.,Mountain View,CA 94043-1100,USA所开发的编程语言和环境;“Java”一词是该公司的注册商标。
由于本说明也涉及实施细节,因此认为熟悉技术的人对Java虚拟机及其实施的基本机理是熟悉的。J.Goslin,B.Joy和G.Tele在他们的“Java语言规范”中以及T.Lindholm和F.Yellin在他们的“Java虚拟机规范”中(两者都由Addison-Wesley Publishing Co.于1996年出版)都全面地介绍了Java语言及JVM的实施。然而请注意,此处作为Java-Card VM引用的Java-Card虚拟机在某些方面是不同的,因为只使用一个子集和附加字节代码。
1.0 JavaSoft CAP文件格式建议
如JavaSoft所建议的,CAP文件格式将一个冠文件分为几个部分。一个冠文件基本上包含一个文本部分和一个数据部分。文本部分包含类结构,方法结构和字节代码指令。数据部分包含小板(cardlet)的静态域。文本部分通过恒定存储区中的一个偏移量访问在链接之前其实际地址不详的所有符号(类、方法等)。对于每一个这类符号,恒定存储区包含目标包的AID和该符号在该目标包(即正被链接的包)中的偏移量。恒定存储区为所有输入的符号(在其他包中定义的符号)和所有输出的符号(在正被装载的小板内定义和访问的符号)提供这些偏移量。
文本部分、数据部分和恒定存储区的组织提供了足够的信息以供执行小板时使用。在装载小板之后,链接程序可以逐步地通过恒定存储区并且使用符号的实际地址来替代进入符号的目标包内使用的符号偏移量。链接程序只需按照给定的AID寻找具体包,将其起始地址加至符号偏移量上并且将此信息存回至恒定存储区中。Java-Card VM然后可以使用恒定存储区内的这些地址以供翻译用。然而,在运行时并不需要恒定存储区本身。事实上,在翻译期间它将要求一个不必要的附加间址操作以便寻找符号地址。此外,恒定存储区不必要地在板上占用空间。因此JavaSoft冠文件格式使用个别部分的固定表以便避免在链接之后需要恒定存储区。固定表包含需要重定位的文本部分中的所有位置。链接程序搜索固定表并且将该位置的偏移量输入至恒定存储区内。然后它解决该符号的地址并将它存入文本部分中的初始位置中。然后翻译程序能够在运行期间直接使用这些地址,因此在链接过程之后可以移去恒定存储区。在链接过程之后唯一留在板上的部分是文本部分和数据部分。
小板与预先计算的和硬编码的进入目标包内的偏移量的链接允许实施一个紧凑系统。然而,它在系统类和不同板上的特定扩展的不同实施方面无法提供足够的灵活性。例如,一个按照IBM的系统类转换的小板和JavaSoff的扩展不太可能在具有来自JavaSoff的系统的板和来自IBM的扩展小板上运行。主要原因是不同实施之间的个别类、方法的偏移量以及实例的域偏移量是不同的。
在以下,本发明在现有JavaSoff建议的概念上扩展以及通过一个附加的轻量和灵活的符号化链接机理来加强它。
2.0 本发明的CAP文件格式
根据本发明的冠文件格式也将冠文件分为不同部分。文本部分包含类结构、方法结构和字节代码指令,数据部分还是包括静态域。冠文件还在固定表中保持必要的重定位信息。对于小板与其链接的每一个包(即目标包)都有一个固定表。
固定表还在其中出现重定位的文本部分或数据部分中包含位置。在简单的情况下,这些位置也由一个可靠和熟知的目标包中的预先计算的偏移量所重定位。在此情况下,链接程序将使用给定的目标AID寻找包的起始地址,将偏移量加入目标包中及将该值存在文本部分的初始位置。进入目标包的偏移量可以或者保持于固定表中,或者保持于文本部分的重定位地址处以便使固定表更小。通过偏移量的重定位始终可以用于所装载小板本身内的大部分访问。转换程序可以预先计算这些偏移量而不会破坏兼容性。
由于系统整体性的原因,对于其他外部包的访问不应由预先计算的偏移量来链接。相反,应该在链接过程中使用一个名称或识别符来访问其他包。这些名称和它们相关连的值应该只存于那些在多个小应用程序之间共享的包的板上。由于这些名称/值对的表应该尽可能地小,此冠文件格式限制类文件元素的命名,但仍能提供不同规范的卖主(vendor)专用实施:
·公共类:必须命名和可输出。
·公共静态方法和构造者:同上。
·公共静态域:同上。
·虚拟方法:
翻译程序通过进入虚拟方法表中的一个索引来寻找一个虚拟方法。如果JavaCard环境需要支持虚拟方法的标准Java后期代码联编,则这些索引和虚拟方法表必须在板上解决。在构作方法表期间,链接程序必须判断在方法表中一个方法是否继承另一个方法。由于这些方法可以在不同小板内定义,必须为各方法引入一个全局命名方案以便判断两个方法是否具有相同类型。由于虚拟方法的后期代码联编需要一个全局命名方案和用于解决和命名虚拟方法的板上附加资源,本发明的冠文件格式不支持它。但即使有此限制,仍然有足够空间留给核心包和扩展的卖主专用实施。编程人员可以自由地增加私有的或静态的方法和类。他也能增加非私有实例方法,如果它们不是继承的和宣布为最后的。转换程序就可以用直接调用来替代对这些方法的调用。
·实例域:
一个类中的实例域的数量和类型通常不由规范所定义,并且将在不同卖主的实施之间变化。因此必须由一个CAP文件格式建议来解决域偏移量的联编。关于链接过程的域的使用可以分为以下三个类别:
·预先计算的域偏移量
一个get-/put-域指令访问一个其类和所有超类都在包含的小板内定义的域。此域的偏移量然后可以由转换程序预先计算,同时不必在装载过程期间链接。如果有协议认为对象类不包含任何域声明,则许多域访问都可归入此类别。
·访问具有任何小板之外的超类的小板内部类的域
此情况必须由一个冠文件格式支持以便允许将个别包中定义的类划分为子类。转换程序能够相对于小板之外的超类的实例大小而计算该域的偏移量并且将此值存于冠文件中。在链接过程期间域的实际偏移量必须根据基类大小重新计算。对于小板内部类的实例大小元素也可相同地进行。
·访问小板外部超类中或任何外部类中的域
虽然实例域很少声明为公共的,但它们经常声明为保护的。对保护域的访问始终由专用保护set-/-get-域方法所同意,但所建议的冠文件格式也允许对这类保护的或公共的声明域进行直接访问。一个输出一个保护的或公共的实例域的包必须包含一个名称和这类域的偏移量以便允许符号化链接。
一个输出类、方法或域的包可以包含一个恒定存储区,其条目包含类型(类等)、名称和该符号的值。由于冠文件格式不需支持全局命名方案,可以容易地规定相关连的符号的名称。这些符号可以从0数到n,并且可以与应用编程接口(API)的规范一起移交。这一规范的实施程序仍然能够通过选择从n+1开始的新名称来输出附加类。
图3显示一个小应用程序与一个目标包的符号化联编。固定表中的条目包含重定位类型(见下面)、进入重定位的文本部分中的偏移量,以及符号名称(为提高空间效率,它可能也存于重定位的位置内)。使用该建议的命名方案,该名称可以用作进入目标包的恒定存储区内的索引。恒定存储区内的条目包含条目类型、名称和相关连的值。链接程序根据条目类型将固定表中的条目重定位:
·要重定位一个方法:
具有给定名称的目标包的恒定存储区项目必须是一个方法类型。该值必须是一个进入在其中定义该方法的目标包的偏移量。链接程序计算该方法的地址并且在给定偏移量处固定该文本部分。
·要重定位一个类:
与以上相同,不同之处只是带有符号索引和名称的恒定存储区项目必须是类的类型。
·要重定位一个静态域:
与以上相同,不同之处只是带有符号索引和名称的恒定存储区项目必须是静态域类型,该值是进入包的数据部分的偏移量。
·要重定位一个相对实例域偏移量或相对类实例大小值:
带有给定名称的目标包的恒定存储区项目必须是类的类型。链接程序计算目标类的地址并获取该类(类结构的一个元素)的实例大小。链接程序将实例大小加至在文本部分偏移量处给出的值并且用所得和值来替代后者。
·对未定义类的绝对域访问:
带有给定名称的目标包的恒定存储区项目必须是实例域的类型。该项目的值是它的类的实例中该域的绝对偏移量。
如果所装载的小板是一个共享包及输出保护域或公共域,则链接程序也在恒定存储区内将它们的条目重定位。它们的实际偏移量用与相对实例域偏移量相同的方式来重定位。
一旦链接过程结束就可以移去固定表。小应用程序不需要恒定存储区,只有在多个小应用程序之间分享的包才需要恒定存储区以备将来使用。恒定存储区的大小决定于输出项目的数量和决定于项目的大小。现有JavaCard系统类的恒定存储区当今大约有160个项目。一个恒定存储区项目包含一个类型域、一个名称和一个值,它们可以存于4字节内(使用所建议的命名方案时,它们甚至可减少至三字节)。这样一来能使所有系统类的恒定存储区的大小成为720字节。
JavaSoft建议的不同:
·JavaSoft恒定存储区当今在内部定义的和外部定义的项目之间并无差别。这在去除覆盖内部定义项目的恒定存储区项目时困难。
·get-/put-域指令中域偏移量和类结构中的实例大小域只有8位宽。这就不可能当今将此值用作进入恒定存储区的索引,而在恒定存储区内可在链接过程期间存储信息以便联编一个域的偏移量。
由于这两个限制,现有JavaSoft建议需要加强以便有可能实现必要的轻量命名方案-类似于此处所建议的。
3.0 附录
3.1 较小扩展
在某些环境中,可能不需要或没有空间用于板上的任何符号化信息,例如在链接过程期间只使用预先计算的偏移量即已足够。根据本发明的冠文件格式可以在下列方向内以安全的方式扩展:
·一个包或小应用程序不但包含一个版本号,而且也包含一个卖主id(或实施id)。
·固定表中访问恒定存储区项目的条目也包含偏移量,转换程序能够在转换期间计算这些偏移量。
·在下载过程开始时装载程序判断小应用程序所需要的包是否来自与当今安装于板上的卖主相同的卖主(例如相同实施)。如果属实,则在链接过程期间装载程序使用小应用程序冠文件中的偏移量。否则下载过程失败。
3.2 访问的冠文件格式项目的规范
详细描述的目的不是为了严格地规定一个冠文件的内容。相反,它提供一个从JavaSoft建议开始的关于什么应该和什么必须包括于冠文件中的详细讨论。同时,我们也提供类似C的声明中的这个描述中提及的冠文件格式项目的更正规的规范。为清楚起见,此处以非优化形式规定这些规范:
//固定表的格式 typedef struct_fixup_table{ u1 target_aid_cnt; u1 target_aid[]; u1 entries_cnt; fixup_entry_t entries[]; }; //固定条目的布局 typedef struct_fixup entry{ u1 type; <!-- SIPO <DP n="8"> --> <dp n="d8"/> u2 offset;//到文本或数据的偏移量 union{ u2 target_offset;//到目标包的偏移量 u2 symbol_name;//到目标恒定存储区的名称和索引 }value; }fixup_entry_t; //个别固定条目类型 //按照偏移量将文本部分或数据部分内的一个16位地址重定位 //这能够覆盖类、方法等的地址 #define RELO_TEXT_16BIT_WITH_OFFSET #define RELO_TEXT_16BIT_WITH_OFFSET //将一个符号值重定位入文本部分 #define RELO_CLASS_BY_SYM #define RELO_METHOD_BY_SYM #define RELO_STATICFIELD_BY_SYM #define RELO_INSTANCEFIELD_BY_SYM //恒定存储区的布局 typedef struct_constant_pool{ u2 cnt; cp_item_titems[cnt]; }; //恒定存储区项目的布局 typedef struct_cp_item{ unsigned type:4//项目类型 unsigned name:12;//名称,若需要的话 u2 offset://偏移量 <!-- SIPO <DP n="9"> --> <dp n="d9"/> }; //恒定存储区项目类型 #define CONSTPOOL_CLASS #define CONSTPOOL_METHOD #define CONSTPOOL_STATICFIELD #define CONSTPOOL_INSTANCEFIELD
Claims (6)
1.一种Java运行系统,包括一个基于堆栈的解释器,所述解释器执行一个包括字节代码和类结构的程序,所述系统还包括一个修改的恒定存储区,所述恒定存储区具有只在链接期间使用的内部信息以及保留以备后期代码联编用的外部信息,其中在链接以后将所述内部信息从所述修改的恒定存储区中移去。
2.权利要求1的Java运行系统是一个JavaCard.
3.一种用于将新代码引入Java运行系统的方法,该Java运行系统包括基于堆栈的解释器,所述解释器执行一个包括字节代码和类结构的包,
·将所述新代码与在所述系统中存在的所述包链接,从而由一个只在链接时间知道的访问来替代所述新代码相对于所述包本身的偏移量,
·从而使用包含于所述包的一个恒定存储区内的符号化信息来解决外部链接,
·至少将那些由所述只在链接时间知道的访问所替代的信息从恒定存储区内移去。
4.权利要求3的方法,其特征在于,还将用于与外部包链接的信息从所述恒定存储区内移去。
5.权利要求3的方法,其特征在于,所述恒定存储区内的余留信息允许以后下载的其他包和小应用程序适当地访问所述新代码。
6.权利要求3的方法,其中所述Java运行系统是一个JavaCard。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98105179.0 | 1998-03-23 | ||
EP98105179 | 1998-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1286770A CN1286770A (zh) | 2001-03-07 |
CN1109971C true CN1109971C (zh) | 2003-05-28 |
Family
ID=8231635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98813912A Expired - Lifetime CN1109971C (zh) | 1998-03-23 | 1998-11-12 | 具有修改的恒定存储区的java运行系统 |
Country Status (13)
Country | Link |
---|---|
US (1) | US6792612B1 (zh) |
EP (1) | EP1066562B1 (zh) |
JP (1) | JP3632598B2 (zh) |
KR (1) | KR100404785B1 (zh) |
CN (1) | CN1109971C (zh) |
CA (1) | CA2322686A1 (zh) |
CZ (1) | CZ20003437A3 (zh) |
DE (1) | DE69814174T2 (zh) |
HK (1) | HK1033700A1 (zh) |
HU (1) | HUP0101368A3 (zh) |
MY (1) | MY124662A (zh) |
PL (1) | PL193009B1 (zh) |
WO (1) | WO1999049392A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581206B2 (en) * | 1999-11-12 | 2003-06-17 | Sun Microsystems, Inc. | Computer program language subset validation |
US6968549B1 (en) * | 1999-07-02 | 2005-11-22 | Beryl Technical Assays Llc | Method and system for dynamically loading data structures into memory with global constant pool |
US7150005B2 (en) * | 1999-07-02 | 2006-12-12 | Beryl Technical Assays, Llc | Method and system for global constant management for memory |
KR100319755B1 (ko) * | 1999-12-02 | 2002-01-05 | 오길록 | 내장형 자바가상머신을 위한 바이트코드 압축 방법 |
US20010007146A1 (en) * | 1999-12-23 | 2001-07-05 | Uwe Hansmann | Method for providing a set of software components |
US7080359B2 (en) | 2002-01-16 | 2006-07-18 | International Business Machines Corporation | Stack unique signatures for program procedures and methods |
US7024657B2 (en) * | 2000-02-21 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | Program generation apparatus for program execution system, replaces variable name in each class file by assigned offset number so that same offset numbers are assigned to non-dependent variables with same variable name |
FR2815801B1 (fr) * | 2000-10-20 | 2004-10-29 | Trusted Logic | Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes |
US6779732B2 (en) | 2001-08-31 | 2004-08-24 | Schulumberger Malco, Inc. | Method and apparatus for linking converted applet files |
FR2831684B1 (fr) * | 2001-10-31 | 2004-03-05 | Gemplus Card Int | Installation de programme compile notamment dans une carte a puce |
US7131121B2 (en) * | 2001-11-14 | 2006-10-31 | Axalto, Inc. | Method and apparatus for linking converted applet files without relocation annotations |
US7114152B2 (en) | 2002-01-08 | 2006-09-26 | International Business Machines Corporation | Method, apparatus, and program to determine the mutability of an object at loading time |
NL1019876C2 (nl) * | 2002-01-31 | 2003-08-04 | Chess Embedded Technology B V | Systeem en werkwijze voor het laden van een programmacode in een inrichting alsmede een werkwijze voor het voeden van een programmacode aan een inrichting. |
US7272827B2 (en) | 2002-04-03 | 2007-09-18 | International Business Machines Corporation | Statically detecting externally referenced interfaces of a program |
CA2507371C (en) * | 2002-11-29 | 2012-01-24 | Research In Motion Limited | Method for generating interpretable code for storage in a device having limited storage |
FR2864650B1 (fr) * | 2003-12-24 | 2006-03-24 | Trusted Logic | Procede de mise a jour d'applications pour carte a puce |
KR100643268B1 (ko) * | 2004-01-17 | 2006-11-10 | 삼성전자주식회사 | 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템 |
US7886281B2 (en) * | 2004-03-30 | 2011-02-08 | Symantec Corporation | System and methods for cross-tier transaction tracing |
US7356811B2 (en) * | 2004-07-08 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for referencing a constant pool in a java virtual machine |
DE102004058882A1 (de) * | 2004-12-06 | 2006-06-08 | Giesecke & Devrient Gmbh | Erzeugen von Programmcode in einem Ladeformat und Bereitstellen von ausführbarem Programmcode |
US8352925B2 (en) * | 2007-01-16 | 2013-01-08 | Oracle America, Inc. | Mechanism for enabling a set of code intended for a first platform to be executed on a second platform |
CA2889724C (en) | 2009-12-21 | 2021-06-08 | Kik Interactive Inc. | Systems and methods for accessing and controlling media stored remotely |
US9195568B2 (en) * | 2011-02-28 | 2015-11-24 | Typemock Ltd. | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior |
US9846631B2 (en) * | 2011-02-28 | 2017-12-19 | Typemock Ltd. | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior |
US9042266B2 (en) | 2011-12-21 | 2015-05-26 | Kik Interactive, Inc. | Methods and apparatus for initializing a network connection for an output device |
US9383448B2 (en) | 2012-07-05 | 2016-07-05 | Deca System Co., Ltd. | Golf GPS device with automatic hole recognition and playing hole selection |
CN103677778B (zh) * | 2012-09-18 | 2016-09-14 | 北京中电华大电子设计有限责任公司 | 一种CAP文件Classref常量的解析方法 |
US9223555B2 (en) * | 2013-11-07 | 2015-12-29 | Netronome Systems, Inc. | Hierarchical resource pools in a linker |
US10268465B2 (en) * | 2016-10-24 | 2019-04-23 | International Business Machines Corporation | Executing local function call site optimization |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291601A (en) | 1989-06-01 | 1994-03-01 | Hewlett-Packard Company | Shared libraries implemented with linking program loader |
US5594903A (en) * | 1991-02-26 | 1997-01-14 | Lynx Real-Time Systems, Inc. | Operating System architecture with reserved memory space resident program code identified in file system name space |
US5581768A (en) | 1995-02-27 | 1996-12-03 | Intel Corporation | Method and apparatus for executing applications in place from write once/seldom memories |
US6112025A (en) * | 1996-03-25 | 2000-08-29 | Sun Microsystems, Inc. | System and method for dynamic program linking |
US5815718A (en) * | 1996-05-30 | 1998-09-29 | Sun Microsystems, Inc. | Method and system for loading classes in read-only memory |
CN1183449C (zh) * | 1996-10-25 | 2005-01-05 | 施卢默格系统公司 | 用微控制器使用高级程序设计语言 |
US6366876B1 (en) * | 1997-09-29 | 2002-04-02 | Sun Microsystems, Inc. | Method and apparatus for assessing compatibility between platforms and applications |
-
1998
- 1998-11-12 CA CA002322686A patent/CA2322686A1/en not_active Abandoned
- 1998-11-12 CN CN98813912A patent/CN1109971C/zh not_active Expired - Lifetime
- 1998-11-12 EP EP98950270A patent/EP1066562B1/en not_active Revoked
- 1998-11-12 CZ CZ20003437A patent/CZ20003437A3/cs unknown
- 1998-11-12 KR KR10-2000-7009943A patent/KR100404785B1/ko not_active IP Right Cessation
- 1998-11-12 JP JP2000538296A patent/JP3632598B2/ja not_active Expired - Lifetime
- 1998-11-12 US US09/646,720 patent/US6792612B1/en not_active Expired - Lifetime
- 1998-11-12 WO PCT/IB1998/001799 patent/WO1999049392A1/en not_active Application Discontinuation
- 1998-11-12 HU HU0101368A patent/HUP0101368A3/hu unknown
- 1998-11-12 PL PL342994A patent/PL193009B1/pl not_active IP Right Cessation
- 1998-11-12 DE DE69814174T patent/DE69814174T2/de not_active Revoked
-
1999
- 1999-02-23 MY MYPI99000623A patent/MY124662A/en unknown
-
2001
- 2001-05-12 HK HK01103313A patent/HK1033700A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
HUP0101368A2 (hu) | 2001-08-28 |
PL342994A1 (en) | 2001-07-16 |
HUP0101368A3 (en) | 2004-04-28 |
EP1066562B1 (en) | 2003-05-02 |
EP1066562A1 (en) | 2001-01-10 |
DE69814174T2 (de) | 2004-03-04 |
KR20010041716A (ko) | 2001-05-25 |
CZ20003437A3 (cs) | 2001-11-14 |
US6792612B1 (en) | 2004-09-14 |
DE69814174D1 (de) | 2003-06-05 |
CN1286770A (zh) | 2001-03-07 |
JP3632598B2 (ja) | 2005-03-23 |
KR100404785B1 (ko) | 2003-11-07 |
PL193009B1 (pl) | 2007-01-31 |
WO1999049392A1 (en) | 1999-09-30 |
HK1033700A1 (en) | 2001-09-14 |
CA2322686A1 (en) | 1999-09-30 |
MY124662A (en) | 2006-06-30 |
JP2002508544A (ja) | 2002-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1109971C (zh) | 具有修改的恒定存储区的java运行系统 | |
CN1222875C (zh) | 用于资源受限装置的面向对象的指令集 | |
US7543309B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
JP4571710B2 (ja) | ディスパッチテーブル構造のための方法と装置 | |
US7092978B2 (en) | Space-efficient, depth-first parallel copying collection technique making use of work—stealing on the same structures that maintain the stack of items to be scanned | |
Shapiro et al. | Persistence and migration for C++ objects | |
CN1119756C (zh) | 用于进行静态初始化的方法和系统 | |
US7870546B2 (en) | Collaborative classloader system and method | |
US20080229299A1 (en) | Adaptive class loading | |
US20050132374A1 (en) | Work stealing queues for parallel garbage collection | |
US7565665B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
EP1909174B1 (en) | Method for generating interpretable code for storage in a device having limited storage | |
US20050223018A1 (en) | Efficient linking and loading for late binding and platform retargeting | |
US6643753B2 (en) | Methods and systems for managing heap creation and allocation | |
CN1955922A (zh) | 用于动态提供本地库及其相关性的方法和系统 | |
US20090133042A1 (en) | Efficient linking and loading for late binding and platform retargeting | |
US6941550B1 (en) | Interface invoke mechanism | |
CN117581214A (zh) | 用于分代z垃圾收集器中的记忆集维护的写屏障 | |
CN114253523A (zh) | 读取裸设备的方法、装置、计算机设备和介质 | |
US6829686B2 (en) | Method and apparatus for bag-to-set, buffering remembered set | |
US8732442B2 (en) | Method and system for hardware-based security of object references | |
Keep et al. | Optimizing closures in O (0) time | |
JP2005521117A (ja) | Javaプログラミング環境におけるオブジェクトの表現のための2ティアのクラスタ | |
Miranda | Context management in VisualWorks 5i | |
WO2003001371A2 (en) | Storing and retrieving of field descriptors in java computing environments |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20030528 |
|
CX01 | Expiry of patent term |