CN1971517A - 用于简档形成接口辅助类加载的方法和系统 - Google Patents

用于简档形成接口辅助类加载的方法和系统 Download PDF

Info

Publication number
CN1971517A
CN1971517A CNA2006101446937A CN200610144693A CN1971517A CN 1971517 A CN1971517 A CN 1971517A CN A2006101446937 A CNA2006101446937 A CN A2006101446937A CN 200610144693 A CN200610144693 A CN 200610144693A CN 1971517 A CN1971517 A CN 1971517A
Authority
CN
China
Prior art keywords
class
profile
virtual machine
interface
expansion
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.)
Granted
Application number
CNA2006101446937A
Other languages
English (en)
Other versions
CN100462921C (zh
Inventor
维克托·L.·哈文
阿兰·K.·普拉特
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 CN1971517A publication Critical patent/CN1971517A/zh
Application granted granted Critical
Publication of CN100462921C publication Critical patent/CN100462921C/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
    • 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

Abstract

可以提供用于字节代码装备逻辑的简档形成接口辅助类加载的数据处理系统、方法和计算机程序产品。该系统可以包括为用于在例如Java虚拟机(JVM)的虚拟机中实例化的字节流的字节代码装备配置的开发环境。该系统还可以包括例如与JVM简档形成接口(JVMPI)兼容的简档形成接口代理的简档形成接口代理。最后,该系统可以包括耦合到代理的简档形成辅助类加载逻辑。简档形成辅助类加载逻辑可以包括能够识别由用于字节代码装备的字节流的嵌入类使用所需的扩展类和能够请求简档形成接口代理在虚拟机中加载扩展类的程序代码。

Description

用于简档形成接口辅助类加载的方法和系统
技术领域
本发明涉及字节代码装备,尤其涉及分辨对由字节代码装备逻辑引用的对象的引用。
背景技术
字节代码装备涉及编译对象中现有字节代码的扩张(augmentation),以产生编译对象的修改版本。字节代码装备通常在配置现有应用程序用于性能监视和性能简档形成(profiling)的时候出现。虽然在过去,可以通过修改源代码直接修改应用程序来产生应用程序的装备形式,但这要预先假定可以获得应用程序的源代码。字节代码装备已经变得很普遍,尤其在不能访问应用程序源代码的情况下。在后一情况下,必须在应用程序调用之后但是在应用程序执行之前以编译形式修改应用程序本身。
当类添加到目标字节代码中时,情况通常是这样:不能在运行时定位从目标字节代码的字节代码装备产生的类引用。通常,当还没有在类路径中包括类时,不能定位类。当遇到由目标字节代码的增加逻辑所引用的丢失类时,会发生“没有找到类定义”的异常且这种扩张会失败。
过去,至少建议了两种解决办法来解决不能在目标字节代码的扩张形式中找到类引用的可能性。一种解决办法指示将所引用的类添加到类路径中已经列出的文件夹中。但是,把所引用的类添加到在类路径中已经列出的文件夹中会需要实际终端用户与命令行或处理环境的交互,从而使这种工具的使用成为需干涉的。但是,期望在装备字节代码的操作中争取无缝的外部特征。
第二种解决办法指示把所引用的类添加到扩展文件夹。就象第一种解决办法,第二种解决办法也不是没有缺陷。具体而言,在第二种解决办法中,通过把文件拷贝到可能很难确定并且可能不能由用户修改的虚拟机安装位置,同样需要终端用户介入。而且,重新安装或升级虚拟机会导致扩展文件夹中所引用类的丢失。在存在多个已安装的虚拟机的情况下,这个问题还会复杂。最后,当定制类加载器代替系统类加载器时,定制类加载器可能缺少用于在扩展文件夹中定位所引用类的配置。
发明内容
本发明实施方式解决了本领域中关于为字节代码装备的逻辑定位所引用类的缺陷并且提供了用于字节代码装备逻辑的简档形成接口辅助类加载的新的且不是显而易见的方法、系统与计算机程序产品。在一种实施方式中,用于字节代码装备逻辑的简档形成接口辅助类加载的方法可以包括识别嵌入类使用所需的扩展类并请求简档形成接口代理在虚拟机中加载扩展类。字节流又可以利用所嵌入的类装备并且装备的字节流可以在虚拟机中实例化。
请求简档形成接口代理在虚拟机中加载扩展类可以包括在遥控器中产生加载远程类(LRC)请求、在LRC请求的有效载荷中插入扩展类、通过计算机通信网络将LRC请求发送到互补的遥控器,以及将LRC请求转发到简档形成接口代理。可选地,请求配置接口代理在虚拟机中加载扩展类可以包括产生引用该扩展类的配置文件、产生加载扩展类的请求、直接将请求发送到简档形成接口代理,及允许简档形成接口代理访问配置文件来检索用于在虚拟机中实例化的扩展类。
在另一实施方式中,可以提供用于字节代码装备逻辑的简档形成接口辅助类加载的数据处理系统。该系统可以包括为用于在例如Java虚拟机(JVM)的虚拟机中实例化的字节流的字节代码装备配置的开发环境。该系统还可以包括简档形成接口代理,例如,与JVM简档形成接口(JVMPI)兼容的简档形成接口代理。最后,该系统可以包括耦合到代理的简档形成辅助类加载逻辑。简档形成辅助类加载逻辑可以包括能够识别由用于字节代码装备的字节流的嵌入类的使用所需的扩展类并能够请求简档形成接口代理在虚拟机中加载扩展类的程序代码。
可选地,互补的遥控器可以通过计算机通信网络彼此耦合。互补的遥控器可以使得能在简档形成接口辅助类加载逻辑和简档形成接口代理之间通信。可选地,配置文件可以耦合到简档形成接口代理。配置文件可以指定用于由简档形成接口代理加载的扩展类的位置。
本发明的其它方面将部分地在以下描述中阐述,部分地将从该描述中显而易见或者可以通过本发明的实践学习。本发明的方面将通过在所附权利要求特别指出的元素和组合实现和达到。应当理解前面的总体描述和下面的具体描述都只是示例性和解释性的,而不是象权利要求要求保护地那样对本发明的限制。
附图说明
结合进本说明书并构成其一部分的附图说明了本发明的实施方式,并与说明书一起用于解释本发明的原理。在此所说明的实施方式是目前优选的,但是应当理解本发明不限于所示出的精确布置和工具,其中:
图1是为跨在远程耦合的开发平台用于字节代码装备逻辑的简档形成接口辅助类加载配置的数据处理系统的示意性说明;
图2是为在单个开发平台内用于字节代码装备逻辑的简档形成接口辅助类加载配置的数据处理系统的示意性说明;及
图3是说明用于字节代码装备逻辑的简档形成接口辅助类加载处理的流程图。
具体实施方式
本发明的实施方式提供了用于字节代码装备逻辑的简档形成接口辅助类加载的方法、系统与计算机程序产品。根据本发明的实施方式,可以检查嵌入到用于在虚拟机中实例化的字节流中的类来识别所嵌入的类所依赖的类。每个识别出的类可以提供给简档形成接口用于在虚拟机中加载。随后,字节流可以利用嵌入类装备并在虚拟机中实例化。以这种方式,可以确保所嵌入的类能正确访问所依赖的类,而不需要终端用户方面的命令行技巧或大量文件操作。
值得注意的是,字节流的字节代码装备可以在远程开发平台和字节流主机平台之间远程执行,或在单个主机平台内统一执行。首先考虑远程开发平台实施方式,图1是为跨远程耦合的开发平台用于字节代码装备逻辑的简档形成接口辅助类加载配置的数据处理系统的示意性说明。如图1所示,远程计算平台110可以通过计算机通信网络130通信耦合到主机计算平台120。
远程计算平台110可以包括配置成字节代码装备打算在主机计算平台120中的虚拟机180中执行的字节流150的开发环境140。主机计算平台120又可以包括能够与虚拟机180中例如Java虚拟机简档形成接口(JVMPI)代理的简档形成接口代理160通信的简档形成接口类加载逻辑300。具体而言,可以使开发环境140能够通过互补遥控器170A、170B与简档形成接口代理160通信,其中如本领域众所周知的,170A和170B可以通过计算机通信网络130交换命令。
在操作中,字节流150可以是在开发环境140中通过一个或多个嵌入类的添加而装备的字节代码。开发环境可以将请求转发到遥控器170A,以便在主机平台120的虚拟机180中远程加载字节流150。例如,请求可以是可以包括有效载荷的LOAD_REMOTE_CLASS请求。遥控器170A又可以通过计算机通信网络130向主机计算平台120中的遥控器170B提供请求。遥控器170B可以接收请求并且可以向虚拟机180中的简档形成代理160发出请求。
简档形成代理160可以从遥控器170B接收请求并可以向可以识别装备的字节流150正确操作所需的依赖类的简档形成接口类加载逻辑300发出请求。对于每个依赖类190,配置接口类加载逻辑300可以在虚拟机180的堆(heap)中实例化依赖类190。在Java环境中,简档形成接口类加载逻辑300可以调用Java本地接口(JNI)方法DefineClass。只要NULL自变量作为函数调用的一部分传入到方法中,DefineClass指示(directive)就调用系统类加载器。最后,一旦依赖类190已经利用虚拟机180实例化,简档形成接口类加载逻辑300就能够创建对依赖类190的全局引用,以便保护嵌入类190免于垃圾回收。因此,在由字节代码装备的字节流150表示的程序操作过程中,依赖类190可以看做系统类。
重要的是,在本发明的另一实施方式中,能够提供用于字节流的字节代码装备的单一配置。关于这点,图2是为在单个开发平台内用于字节代码装备逻辑的简档形成接口辅助类加载配置的数据处理系统的示意性说明。如图2所示,开发环境240和虚拟机280可以驻留在同一主机计算平台210中。如上面一样,字节流250可以是在开发环境240中通过一个或多个嵌入类添加而装备的字节代码。可以接收在虚拟机280中实例化字节流250的请求并且可以发出在虚拟机280中加载字节流250的请求。
简档形成接口类加载逻辑300可以接收请求并且可以识别嵌入类正确操作所需的依赖类,并且对于每个依赖类,可以在虚拟机280中加载依赖类。具体而言,简档形成接口类加载逻辑300可以通过参考配置文件220检索每个依赖类的拷贝。随后,简档形成接口类加载逻辑300可以在虚拟机280的堆中实例化依赖类290。最后,一旦依赖类290已经在虚拟机280中实例化,简档形成接口类加载逻辑300就可以创建对依赖类290的全局引用,以便保护依赖类290免受垃圾回收。因此,如上面一样,在由字节代码装备的字节流250表示的程序操作过程中,嵌入类290可以看作系统类。
现在转向图3,示出了说明在图1和2的配置中用于字节代码装备逻辑的简档形成接口辅助类加载的流程图。在块310开始,可以识别在字节代码装备的字节流中嵌入类正确操作所需的第一扩展类。在块320,可以形成用于预加载扩展类的请求,并且在块330,请求可以转发到可以利用用于虚拟机的系统类加载器加载扩展类的简档形成接口。
在决定块340,如果需要附加的扩展类,则可以对每个附加的扩展类重复处理。一旦所有的扩展类都已经在虚拟机中实例化,字节流就可以利用嵌入类装备并且装备的字节流的实例可以加载到虚拟机中。最后,装备的字节流可以在确保所需扩展可以由装备的字节流使用的情况下执行。
本领域技术人员将认识到上述发明性布置的几个优点。首先,该发明性布置不需要虚拟机用于指定所需扩展类位置的附加配置。第二,扩展类可以由系统类加载器加载,从而消除了对可以在扩展类中实现的本机方法的类加载阻抗和类型转换限制。第三,扩展类可以根据需要从开发环境工作平台或其它远程代理控制器客户端远程加载。
重要的是,扩展类可以是完全暂时的。具体而言,扩展类不必存成文件。相反,扩展类可以在存储器中动态创建并在以后部署。最后,因为可以只在虚拟机与所启用的简档形成接口代理合作执行时才加载扩展类,所以能够增强用于字节代码装备的安全性。因此,没有可以被恶意代码利用的永久扩展库。而且,装备的代码不必调用虚拟机中的系统类加载器。这样,就不需要虚拟机的策略改变。
本发明的实施方式可以采取完全硬件形式实施方式、完全软件实施方式或包含硬件和软件元素的实施方式的形式。在优选实施方式中,本发明是在软件中实现的,其中软件包括但不限于固件、驻留软件、微代码等。此外,本发明可以采取可从提供由计算机或任何指令执行系统使用或与其结合使用的程序代码的计算机可用或计算机可读取介质访问的计算机程序产品的形式。
为了本描述,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装备或设备使用或与其结合使用的程序的装置。介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可拆卸计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。当前光盘的例子包括只读光盘(CD-ROM)、读写光盘(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线间接耦合到存储器元件的处理器。存储器元件可以包括在程序代码的实际执行中所采用的本地存储器、大容量存储器、及为减少代码在执行期间必须从大容量存储器检索的次数而提供至少某些程序代码的临时存储的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接或通过中断I/O控制器耦合到系统中。网络适配器也可以耦合到系统,以便使数据处理系统能够通过之间的私有或公共网络耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是一些当前可以得到的网络适配器类型。

Claims (9)

1、一种用于字节代码装备逻辑的简档形成接口辅助类加载的方法,该方法包括:
识别嵌入类使用所需的扩展类;
请求简档形成接口代理在虚拟机中加载该扩展类;
利用该嵌入类装备字节流;及
在虚拟机中实例化装备的字节流。
2、如权利要求1所述的方法,其中所述请求简档形成接口代理在虚拟机中加载扩展类的步骤包括:
在遥控器中产生加载远程类(LRC)请求;
在LRC请求的有效载荷中插入扩展类;
通过计算机通信网络将LRC请求发送到互补的遥控器;及
将LRC请求转发到简档形成接口代理。
3、如权利要求1所述的方法,其中所述请求简档形成接口代理在虚拟机中加载扩展类的步骤包括:
产生引用扩展类的配置文件;
产生加载扩展类的请求;
将请求直接发送到简档形成接口代理;及
允许简档形成接口代理访问配置文件,以便检索用于在虚拟机中实例化的扩展类。
4、如权利要求1所述的方法,还包括利用用于虚拟机的系统类加载器来加载扩展类。
5、如权利要求1所述的方法,还包括创建对虚拟机中扩展类的全局引用,以便保护该扩展类免受垃圾回收。
6、一种用于字节代码装备逻辑的简档形成接口辅助类加载的数据处理系统,该系统包括:
为用于在虚拟机中实例化的字节流的字节代码装备而配置的开发环境;
简档形成接口代理;及
耦合到该代理的简档形成辅助类加载逻辑,该简档形成辅助类加载逻辑包括能够识别由用于字节代码装备的字节流的嵌入类使用所需的扩展类并能够请求简档形成接口代理在虚拟机中加载扩展类的程序代码。
7、如权利要求6所述的系统,其中虚拟机是Java虚拟机(JVM),而且其中简档形成接口代理是与JVM简档形成接口(JVMPI)兼容的简档形成接口代理。
8、如权利要求6所述的系统,还包括通过计算机通信网络彼此耦合并且使得能在简档形成接口辅助类加载逻辑与简档形成接口代理之间通信的互补遥控器。
9、如权利要求6所述的系统,还包括耦合到简档形成接口代理的配置文件,该配置文件指定用于由简档形成接口代理加载的扩展类位置。
CNB2006101446937A 2005-11-21 2006-11-14 用于简档形成接口辅助类加载的方法和系统 Expired - Fee Related CN100462921C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/283,637 2005-11-21
US11/283,637 US7765537B2 (en) 2005-11-21 2005-11-21 Profiling interface assisted class loading for byte code instrumented logic

Publications (2)

Publication Number Publication Date
CN1971517A true CN1971517A (zh) 2007-05-30
CN100462921C CN100462921C (zh) 2009-02-18

Family

ID=38112357

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101446937A Expired - Fee Related CN100462921C (zh) 2005-11-21 2006-11-14 用于简档形成接口辅助类加载的方法和系统

Country Status (2)

Country Link
US (1) US7765537B2 (zh)
CN (1) CN100462921C (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058936B2 (en) 2002-11-25 2006-06-06 Microsoft Corporation Dynamic prefetching of hot data streams
US7912877B2 (en) * 2005-05-20 2011-03-22 Microsoft Corporation Leveraging garbage collection to dynamically infer heap invariants
US7962901B2 (en) * 2006-04-17 2011-06-14 Microsoft Corporation Using dynamic analysis to improve model checking
US7926043B2 (en) * 2006-06-20 2011-04-12 Microsoft Corporation Data structure path profiling
AU2008311849A1 (en) * 2007-10-20 2009-04-23 Citrix Systems, Inc. Systems and methods for folder redirection
US8745598B2 (en) * 2010-12-14 2014-06-03 Bmc Software, Inc. Running injected code prior to execution of an application
CN102855179A (zh) * 2011-06-30 2013-01-02 国际商业机器公司 虚拟机环境下的程序调试方法和系统
US8875096B1 (en) * 2012-09-25 2014-10-28 Amazon Technologies, Inc. Dynamic class loading
JP5884749B2 (ja) * 2013-03-06 2016-03-15 富士ゼロックス株式会社 記録媒体処理装置、記録媒体処理システム及びプログラム
US9443192B1 (en) 2015-08-30 2016-09-13 Jasmin Cosic Universal artificial intelligence engine for autonomous computing devices and software applications
US9864933B1 (en) 2016-08-23 2018-01-09 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation
US10452974B1 (en) 2016-11-02 2019-10-22 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
US10607134B1 (en) 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation
US10102449B1 (en) 2017-11-21 2018-10-16 Jasmin Cosic Devices, systems, and methods for use in automation
US10474934B1 (en) 2017-11-26 2019-11-12 Jasmin Cosic Machine learning for computing enabled systems and/or devices
US10402731B1 (en) 2017-12-15 2019-09-03 Jasmin Cosic Machine learning for computer generated objects and/or applications
CN110381135B (zh) * 2019-07-18 2021-09-28 北京奇艺世纪科技有限公司 接口创建方法、服务请求方法、装置、计算机设备和介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314558B1 (en) * 1996-08-27 2001-11-06 Compuware Corporation Byte code instrumentation
EP0915419A3 (en) * 1997-10-06 2003-11-12 Sun Microsystems, Inc. Remote object access
US6044467A (en) * 1997-12-11 2000-03-28 Sun Microsystems, Inc. Secure class resolution, loading and definition
US6560773B1 (en) * 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6513155B1 (en) 1997-12-12 2003-01-28 International Business Machines Corporation Method and system for merging event-based data and sampled data into postprocessed trace output
US6496871B1 (en) * 1998-06-30 2002-12-17 Nec Research Institute, Inc. Distributed agent software system and method having enhanced process mobility and communication in a computer network
US6430569B1 (en) * 1998-08-14 2002-08-06 Sun Microsystems, Inc. Methods and apparatus for type safe, lazy, user-defined class loading
US20020062334A1 (en) * 1998-08-19 2002-05-23 Qiming Chen Dynamic agents for dynamic service provision
GB2343021A (en) * 1998-10-19 2000-04-26 Ibm Class loading model for object oriented programming
US6430570B1 (en) 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
US6457142B1 (en) * 1999-10-29 2002-09-24 Lucent Technologies Inc. Method and apparatus for target application program supervision
JP3986721B2 (ja) * 2000-01-20 2007-10-03 三菱電機株式会社 ソフトウェア・モジュール動的交換方法及びソフトウェア・モジュール動的交換プログラム記録媒体
US20030023956A1 (en) * 2000-02-14 2003-01-30 Adi Dulberg Embedded device monitoring agent
GB2365554B (en) * 2000-05-31 2004-09-01 Ibm Virtual machine support for multiple aplications
US6742178B1 (en) * 2000-07-20 2004-05-25 International Business Machines Corporation System and method for instrumenting application class files with correlation information to the instrumentation
US6968540B2 (en) * 2000-10-25 2005-11-22 Opnet Technologies Inc. Software instrumentation method and apparatus
CA2350735A1 (en) * 2001-03-14 2002-09-14 Ibm Canada Limited-Ibm Canada Limitee A method for providing open access to application profiling data
US6915511B2 (en) * 2001-05-22 2005-07-05 Sun Microsystems, Inc. Dynamic class reloading mechanism
US7266808B2 (en) * 2001-08-10 2007-09-04 Parasoft Corporation Method and system for dynamically invoking and/or checking conditions of a computer test program
US6842891B2 (en) * 2001-09-11 2005-01-11 Sun Microsystems, Inc. Dynamic attributes for distributed test framework
US6985909B2 (en) * 2001-12-28 2006-01-10 Sap Ag Modified class loaders and methods of use
US20040015600A1 (en) * 2002-02-21 2004-01-22 Ashutosh Tiwary Workload post-processing and parameterization for a system for performance testing of N-tiered computer systems using recording and playback of workloads
EP1495398A4 (en) 2002-04-08 2008-11-26 Ibm PROCESS AND SYSTEM FOR TROUBLESHOOTING IN DISTRIBUTED BUSINESS APPLICATIONS
US20040019887A1 (en) * 2002-07-25 2004-01-29 Sun Microsystems, Inc. Method, system, and program for loading program components
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US20040123279A1 (en) * 2002-12-18 2004-06-24 International Business Machines Corporation Method and system for auto-instrumenting java applications through probe injection
US20040153996A1 (en) * 2003-01-30 2004-08-05 International Business Machines Corporation Method and system for determining the defining classLoader of a Java class as it is being defined
US7275239B2 (en) * 2003-02-10 2007-09-25 International Business Machines Corporation Run-time wait tracing using byte code insertion
US7114150B2 (en) * 2003-02-13 2006-09-26 International Business Machines Corporation Apparatus and method for dynamic instrumenting of code to minimize system perturbation
US7337434B2 (en) * 2003-04-29 2008-02-26 Sony Ericsson Mobile Communications Ab Off-device class/resource loading methods, systems and computer program products for debugging a Java application in a Java micro device
US7533389B2 (en) 2003-06-20 2009-05-12 Sun Microsystems, Inc. Dynamic loading of remote classes
US7437734B2 (en) * 2003-08-12 2008-10-14 Hewlett-Packard Development Company, L.P. Propagating web transaction context into common object model (COM) business logic components
US7484209B2 (en) * 2003-08-12 2009-01-27 Hewlett-Packard Development Company, L.P. Instrumenting java code by modifying bytecodes
US7496903B2 (en) * 2003-08-12 2009-02-24 Hewlett-Packard Development Company, L.P. Synthesizing application response measurement (ARM) instrumentation
US7434215B2 (en) * 2003-09-11 2008-10-07 International Business Machines Corporation Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy
US7293260B1 (en) * 2003-09-26 2007-11-06 Sun Microsystems, Inc. Configuring methods that are likely to be executed for instrument-based profiling at application run-time
US7275241B2 (en) * 2003-11-21 2007-09-25 International Business Machines Corporation Dynamic instrumentation for a mixed mode virtual machine
US20060130034A1 (en) * 2004-12-15 2006-06-15 Michael Beisiegel Apparatus, system, and method for providing access to a set of resources available directly to a particular class loader
US7526754B2 (en) * 2005-02-28 2009-04-28 Sap Portals Israel Ltd. Memory debugging tool
US7788644B2 (en) * 2005-03-24 2010-08-31 Sap Ag Method and system for monitoring performance on a mobile device
US20060225051A1 (en) * 2005-04-05 2006-10-05 Cisco Technology, Inc. Method and system for code coverage
US20060230320A1 (en) * 2005-04-07 2006-10-12 Salvador Roman S System and method for unit test generation
US7793304B2 (en) * 2005-05-04 2010-09-07 Symantec Corporation System and method for monitoring memory usage
US8091097B2 (en) * 2005-06-22 2012-01-03 Mark Lawrence Chen Distributed virtual machine architecture
US20070094675A1 (en) * 2005-10-25 2007-04-26 Ryan Caspar M Object mobility
US8356286B2 (en) * 2007-03-30 2013-01-15 Sap Ag Method and system for providing on-demand profiling infrastructure for profiling at virtual machines

Also Published As

Publication number Publication date
CN100462921C (zh) 2009-02-18
US20070169000A1 (en) 2007-07-19
US7765537B2 (en) 2010-07-27

Similar Documents

Publication Publication Date Title
CN100462921C (zh) 用于简档形成接口辅助类加载的方法和系统
CN111095338B (zh) 用于执行不同类型区块链合约的系统和方法
CN111095198B (zh) 用于数据处理的系统和方法
CN100370425C (zh) 将本机函数内嵌到编译的Java代码中的方法和系统
CN102934114B (zh) 用于文件系统的检查点
US9460306B1 (en) System and method for controlling access of machine code to operating system resources
CN105612525A (zh) 针对应用安全性的二进制转换和随机化系统
US8578357B2 (en) Endian conversion tool
US8141042B2 (en) Extending portability of java code through the use of AOP
US20090113406A1 (en) Single stream processing with multi-version support of application operating environments
CN111179086A (zh) 一种基于WebAssembly的智能合约虚拟机
JP2002505473A (ja) 決定性ハッシュでリモートメソッドを識別する方法とシステム
US20070240120A1 (en) Adaptive Compiled Code
US11036527B2 (en) Class splitting in object-oriented environments
US6918126B1 (en) Method and apparatus for creating and enforcing protected system level Java code
WO2022250864A1 (en) Deploying a cloud service based on component dependencies
CN111190915A (zh) 一种道具标识或角色标识的确定方法、服务器及存储介质
EP3121750B1 (en) System and method for antivirus checking of native images of software assemblies
US10120777B1 (en) Remediating serialization incompatibilities
US9672014B2 (en) Transparent network substrate system
CN107943504A (zh) 一种嵌入式系统中软件模块的动态升级方法
CN112363726A (zh) 一种内核模块的跨内核版本编译方法及系统
Schippers et al. An implementation substrate for languages composing modularized crosscutting concerns
EP1136910A2 (en) A method of compiling code in an object oriented programming language
Quarkslab Technical assessment of herumi libraries

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

Granted publication date: 20090218

Termination date: 20151114

EXPY Termination of patent right or utility model