用于改进JAVA方法调用速度的方法和装置制造方法及图纸

技术编号:2886400 阅读:199 留言:0更新日期:2012-04-11 18:40
用于执行一方法的方法和装置,调用一方法的字节码被检测出。方法块的定位与方法有关,其中方法块包括一调用程序的标识符。调用程序被访问,其中调用程序为方法的执行进行设置。由调用程序实现的设置,对方法是特别简明。方法的完成被检测,且把控制返回给调用程序,其中,调用程序完成方法的处理。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术概括地涉及一改进的数据处理系统,特别涉及改进数据处理系统中执行指令的方法和装置,更具体的说,本专利技术涉及的方法和装置用于改进数据处理系统中Java方法的调用速度。Java是一种面向对象的编程语言和环境,其焦点是定为作为对象的数据以及可用于那些对象上的方法。“Java”是Sun Microsystems公司的注册商标。Java只支持单一继承,这意味着在任意给定时间内,每个类只能继承一个其它类。Java亦可用来创建称为接口的完全抽象类,它允许定义的方法,可不必考虑其它类是如何操纵这些方法而为几种类共享。Java提供对不同计算机平台分配软件的机制。Java能支持许多类型数据处理系统的应用,可以包括各种中央处理单元和操作系统结构。Java虚拟机(JVM)是仅常驻在存贮器中的虚拟计算机部件。JVM允许Java程序在不同平台上执行,这与只对一种代码曾为之进行编译的平台相反。Java程序为JVM被编译。按这样的方式,使Java能支持许多种数据处理系统的应用,可以包括各种中央处理单元和操作系统结构。为了使Java应用在不同类数据处理系统上执行,典型地编释器产生一中间结构的文件格式。被编译的代码在给定的Java运行时间系统情况下,在许多处理器上可执行。Java编译器产生字节码指令并不专门针对具体的计算机结构,一字节码是由Java编译器产生和由Java解释器执行的机器独立码。Java解释器是JVM中的一模件,它交替地解码和执行一个字节码或多个字节码。这些字节码指令设计或在任何机器上容易被解释,并在工作中容易转换成本地机器码。一开发环境,例如Java开发工具(JDK)可以从Sun Microsystems公司得到根据Java语言源代码和库,可用来建立Java字节码,该Java字节码可被存贮。成为web服务器上的Java应用或小应用程序(applet),它可以在网络上被下载到用户的机器上,并在本地JVM上执行。当需要更快速度执行Java程序时,JIT(Just In Time)编译器可用来把方法或类的字节码,在执行它们之前转换成本地机器指令,典型地,这种编译对每种方法只发生一次,某些JIT编译器可编译全部类,而不是一次编译一个方法。当JVM解释器遇到一调用字节码时,JVM解释器定位要被访问的合适的方法,然后访问该方法。该访问的方法可通过定位方法块,并转到方法的调用程序而被执行,方法块标识了调用程序及是一按照方法的数据结构。调用程序实现函数的激活,及为目标方法产生一栈框架,由调用程序实现的这种处理包括确保参数被合适地传到目标方法。如果方法是同步的,监控器,也称为锁(Lock)被调用程序得到。其它的内务操作事务可根据具体目标方法被包含。当JVM解释器遇到一返回字节码,通知方法完成时,内务操作事务的一客套集(commplimentaryset)必须执行函数的去激活,释放栈框架,如果曾获得则释放监控器,并正确地把结果返回给调用程序。来自Sun Microsystems公司的标准JVM工具提供同步或非同步方法的调用程序,而且,返回到这些调用程序中访问方法的返回字节码无这些特殊性,且必须检查方法的特性,以合适地完成返回。而且,调用程序可被要求设定标志,依次由当前可得到的JVM工具中的返回字节码检验。当前的JVM工具仅利用具有有限特殊性的调用程序,和通用化的返回字节码,它必须实行运行时检查,以确定哪个任务在函数激活/去激活期间必须被执行。函数激活是所有步骤所必须的,以合适地访问一方法。这包括传递栈上的参数,用方法需要的任何值设置栈框架(如,为访问方法指向方法块的一指针),存贮返回地址,当方法完成时控制将转移到这返回地址,及还包括如果方法是同步的,去获得对象的监控器。栈上的这种数据结构被称为函数激活记录,函数去激活是所有步骤所必须的以终止方法的访问。它包括释放方法访问栈框架,如果方法是同步的则释放对象监控器,从栈上除去被传递的参数及在访问方法的栈上,如果有的话放入访问方法的返回值。当函数去激活被完成时,为了访问方法的函数激活记录已从栈上被去除。这个过程具有负面性能影响。因此,有这样的为调用方法的方法和装置将是有利的,在这种方式中免去了根据方法特性进行运行时决定的需要。本专利技术为执行一方法提供方法和装置,调用一方法的字节码被检测出。方法块与方法有关被定位。其中方法块包括调用程序的标识符。调用程序被访问,在那里调用程序为方法的执行进行设置。由调用程序实现的设置对方法是特别简单的。方法的完成被检测且把控制返回给调用程序,在那时调用程序完成方法的处理。本专利技术的可信性能的新特点在所附的权利要求书中被陈述。而本专利技术本身以及使用的优选方式,其进一步的目标及优点参考下面连同附图读出的描述实施例的详细说明,将被最好地理解,其中附图说明图1是方框图,说明了一数据处理系统,本专利技术可以在该数据处理系统中实现;图2是根据本专利技术的优选实施例用于处理方法的部件的方框图;图3是根据本专利技术的优选实施例的方法块的说明;图4是一处理的高级流程图,用于根据本专利技术的优选实施例选择专门的调用程序;图5A-5E是一处理的流程图,用于根据本专利技术的优选实施例选择专门的调用程序。图6是一方法的流程图,说明了根据本专利技术的优选实施例,使用专门的调用程序调用一方法;图7A-7C是任务或步骤的流程图,这是根据本专利技术的优选实施例,在准备访问一目标方法时,由专门的调用程序实现的;图8A-8C是处理的更详细的流程图,通过用专门的调用程序,根据本专利技术的优选实施例,以实现解决从访问到一目标方法所需任务;及图9A-9C是一流程图,说明根据本专利技术的优选实施例,在调用方法的Java栈上,目标方法结果的位置。现在根据图1,一方框图说明了本专利技术可以在其上实现的数据处理系统。数据处理系统100是一客户计算机的例子。数据处理系统100利用一外围部件互连(PCI)局部总线结构。虽然,所描述的例子使用PCI总线,其它总线结构如微通道和ISA总线亦可作用。处理器102和主存104通过PCI桥108被连到PCI局部总线106。PCI桥108亦可以包括处理器102用的集成的存贮器控制器和高速缓冲存贮器。连到PCI局部总线106的附加连结器可以通过直接部件互连或通过附加板实现。在所描述的例子中,局域网(LAN)适配器110,小型计算机系统接口(SCSI)主机总线适配器112,及扩展总线接口114通过直接部件连接器被连到PCI局部总线106。相反,音频适配器116,图形适配器118及音频/视频适配器(A/V)119通过插到扩展槽中的附加板被连到PCI局部总线106。扩展总线接口114为键盘和鼠标适配器120,调制解调器122及附加存贮器124提供连结。SCSI主机总线适配器132为硬盘驱动器126,磁带驱动器128及CD-ROM驱动器130提供连结。典型情况PCI局部总线器具将支持3或4种PCI扩展槽或附加的连结器。一操作系统在处理器102上运行,用于为图1中数据处理系统100内的各种部件配合和提供控制。操作系统可以是一商业上可买到的操作系统,如OS/2,这可从IBM公司买到。“OS/2”是IBM公司的注册商标,面向对象的编程系统如Java可以同操作系统一起运行,并从数据处理系统100上执行的Java程序或应用本文档来自技高网...

【技术保护点】
一种用于执行一个方法的过程,该过程包括:检测调用一方法的字节码;确定与方法有关的方法块,其中方法块包括调用程序的标识符;调用调用程序,其中调用程序为方法的执行进行设置;检测该方法的完成;及返回控制到调用程序,其中调用程序 完成方法的处理。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:乔弗里欧文布兰迪本特利约汉哈格拉维
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1