执行设备和方法技术

技术编号:2839556 阅读:167 留言:0更新日期:2012-04-11 18:40
一种执行计算机程序的执行设备和方法,该执行设备执行计算机程序,并加载当正在执行该计算机程序时所请求的类。所加载的类是响应于正在执行的计算机程序的类。

【技术实现步骤摘要】

本专利技术涉及一种用于执行计算机程序的执行设备。
技术介绍
关于执行计算机程序的设备,存在如下设备,该设备在未加载程序的情况下,从安装有该设备正试图执行的功能的外部源(external source)加载程序并执行该程序。该设备的一个例子是装备有Java虚拟机即JavaVM(JavaVirtual Machine)(Java是Sun Microsystems Inc.在美国和其它国家的商标或注册商标)的设备。当装备有JavaVM的设备执行Java应用程序时,其能够从存在于该设备内或该设备外的类库(class library)来加载所需的Java类(类加载)。与类加载有关的JavaVM组件被称为类加载器(Class Loader)。通过类路径(classpath)设定以及类加载器本身的动作来决定类加载器从哪里加载类。在未指定将要使用的类加载器的情况下,使用内置在JavaVM中的系统类加载器(SystemClassLoader)。系统类加载器根据类路径设定来加载类。类路径列举一个或多个路径、或者加载类的位置。系统类加载器按照优先级递减顺序通过路径列举序列执行类搜索。还可以指定将要使用的类加载器,在这种情况下,根据所指定的类加载器的定义来搜索和加载类。当类加载器加载类时,首先进行检查以确定将要加载的类存在于JavaVM内还是存在于与JavaVM一同提供的库内(Java系统)。如果该类存在于Java系统内,则从Java系统加载该类。换句话说,即使已知所需的类与应用程序一起位于外部,也优先从Java系统内进行加载。这样做的首要原因是Java系统内的类确保提供Java功能,由此维持Java功能的互用性(interoperability)。第二个原因是Java系统内的类是考虑到Java系统内的类安全性的可靠的类(solid class)。美国6260078号专利和美国6701335号专利中引述了关于类加载的相关技术。在将与应用程序一起提供的类库存储在Java系统内之后,应用程序从Java系统内的类库加载类。因此,不需要将类库与应用程序绑定。然而,如果与应用程序绑定的类库的版本不同于位于Java系统内的类库的版本,则出现下类问题。保证与应用程序绑定的类库与应用程序一起工作。然而,由于不保证位于Java系统内的类库与应用程序一起工作这一事实,而试图使用位于Java系统内的、版本与同应用程序绑定的类库不同的类库可能导致出错。例如,当将与旧类库绑定的老的应用程序(legacy application)安装到包含新类库的新Java系统中时,可能出现这样的情况。在这种情况下,改变老的应用程序使得可以避免该错误是件麻烦的事情。从安全性观点来看,总是使用与应用程序绑定的类的方法也是不可取的。日本特开2002-014817号公报公开了一种使用计算机网络来分发程序文件的文件分发系统。该文件分发系统将加载到服务器的文件系统中的程序模块的版本与安装在客户端的文件系统上的程序模块的版本进行比较。仅在加载到服务器的文件系统中的程序模块的版本比安装在客户端的文件系统上的程序模块的版本新的情况下,才下载加载到服务器的文件系统中的程序模块。
技术实现思路
本专利技术的目的是确保程序的稳定运行。本专利技术的另一目的是避免延长类加载时间。根据本专利技术,提供一种执行计算机程序的执行设备,该执行设备包括执行单元,用于执行计算机程序;以及加载单元,用于加载当正在执行该计算机程序时所请求的类,其中,该加载单元加载与正在执行的该计算机程序相对应的类。根据本专利技术,提供一种执行应用程序的执行设备,该执行设备包括执行单元,用于执行应用程序;以及搜索单元,用于搜索该应用程序所请求的类,其中,该搜索单元以应用程序库优先而不是以系统程序库优先进行搜索。根据本专利技术,提供一种执行计算机程序的执行设备,该执行设备包括执行单元,用于执行计算机程序;以及搜索单元,用于搜索该计算机程序所请求的类,其中,该搜索单元以导入库优先而不是以系统程序库优先进行搜索。根据本专利技术,提供一种执行应用程序的执行设备,该执行设备包括执行单元,用于执行应用程序;以及加载单元,用于加载当正在执行该应用程序时所请求的类,其中,在应用程序库版本不同于系统程序库版本的情况下,该加载单元从该应用程序库加载该类。根据本专利技术,提供一种执行应用程序的执行设备,该执行设备包括执行单元,用于执行应用程序;以及加载单元,用于加载当正在执行该应用程序时所请求的类,其中,在应用程序库内的该类的版本不同于系统程序库内的该类的版本的情况下,该加载单元从该应用程序库加载该类。根据本专利技术,提供一种执行计算机程序的执行方法,该执行方法包括以下步骤执行计算机程序;以及加载当正在执行该计算机程序时所请求的类,其中,加载与正在执行的该计算机程序相对应的类。根据本专利技术,提供一种执行应用程序的执行方法,该执行方法包括以下步骤执行应用程序;以及搜索该应用程序所请求的类,其中,以应用程序库优先而不是以系统程序库优先进行该搜索。根据本专利技术,提供一种执行计算机程序的执行方法,该执行方法包括以下步骤执行计算机程序;以及搜索该计算机程序所请求的类,其中,该搜索将优先权给予导入库而不是系统程序库。根据本专利技术,提供一种执行应用程序的执行方法,该执行方法包括以下步骤执行应用程序;以及加载当正在执行该应用程序时所请求的类,其中,在应用程序库版本不同于系统程序库版本的情况下,从该应用程序库加载该类。根据本专利技术,提供一种执行应用程序的执行方法,该执行方法包括以下步骤执行应用程序;以及加载当正在执行该应用程序时所请求的类,其中,在应用程序库内的该类的版本不同于系统程序库内的该类的版本的情况下,从该应用程序库加载该类。通过以下(参考附图)对典型实施例的说明,本专利技术的其它特点将是显而易见的。附图说明图1是示出根据本专利技术实施例的Java程序执行系统的构成的框图;图2是说明根据本专利技术实施例的JavaVM执行设备的硬件构成的框图;图3是用于解释关于根据本专利技术实施例的JavaVM执行设备的应用程序执行序列的流程图;图4是用于解释根据第一实施例在步骤S306中执行的类加载序列(第一类加载序列)的流程图; 图5A和5B是用于解释根据第二实施例在图3的步骤S306中执行的类加载序列(第二类加载序列)的流程图;图6是用于解释根据第三实施例在图3的步骤S306中执行的类加载序列(第三类加载序列)的流程图;图7A和7B是用于解释根据第四实施例在图3的步骤S306中执行的类加载序列(第四类加载序列)的流程图;图8是用于解释根据本专利技术第五实施例在图3的步骤S306中执行的类加载序列(第五类加载序列)的流程图;图9示出根据第五实施例的库信息表的例子的图;图10A和10B是用于解释根据本专利技术第六实施例在图3的步骤S306中执行的类加载序列(第六类加载序列)的流程图;图11示出根据第六实施例的库信息表的例子的图。具体实施例方式将参考附图详细说明本专利技术的优选实施例。对权利要求书的范围来说,这些实施例不限制本专利技术,实施例中所描述的特征的全部组合对于本专利技术的解决方案也不是必需的。图1是示出根据本专利技术实施例的Java程序执行系统的构成的框图。在图1中,JavaVM 101包括解释程序102和类加载器103。解释程序1本文档来自技高网
...

【技术保护点】
一种执行计算机程序的执行设备,该执行设备包括:执行单元,用于执行计算机程序;以及加载单元,用于加载当正在执行该计算机程序时所请求的类,其中,所述加载单元加载与正在执行的该计算机程序相对应的类。

【技术特征摘要】
JP 2006-2-1 2006-0247401.一种执行计算机程序的执行设备,该执行设备包括执行单元,用于执行计算机程序;以及加载单元,用于加载当正在执行该计算机程序时所请求的类,其中,所述加载单元加载与正在执行的该计算机程序相对应的类。2.根据权利要求1所述的执行设备,其特征在于,所述加载单元从与正在执行的该计算机程序相对应的位置加载所述执行单元所请求的类。3.根据权利要求1所述的执行设备,其特征在于,所述加载单元从与正在执行的该计算机程序相对应的库加载该类。4.根据权利要求1所述的执行设备,其特征在于,所述加载单元具有用于存储与该计算机程序相对应的库的存储单元,并且所述加载单元从存储在该存储单元中的与正在执行的该计算机程序相对应的库加载该类。5.一种执行应用程序的执行设备,该执行设备包括执行单元,用于执行应用程序;以及搜索单元,用于搜索该应用程序所请求的类,其中,所述搜索单元以应用程序库优先而不是以系统程序库优先进行搜索。6.根据权利要求5所述的执行设备,其特征在于,在请求该类的应用程序满足给定条件的情况下,所述搜索单元以应用程序库优先而不是以系统程序库优先进行搜索。7.根据权利要求6所述的执行设备,其特征在于,在请求该类的应用程序不满足给定条件的情况下,所述搜索单元搜索类路径中设定的库。8.一种执行计算机程序的执行设备,该执行设备包括执行单元,用于执行计算机程序;以及搜索单元,用于搜索该计算机程序所请求的类,其中,所述搜索单元以导入库优先而不是以系统程序库优先进行搜索。9.一种执行应用程序的执行设备,该执行设备包括执行单元,用于执行应用程序;以及加载单元,用于加载当正在执行该应用程序时所请求的类,其中,在应用程序库版本不同于系统程序库版本的情况下,所述加载单元从该应用程序库加载该类。10.根据权利要求9所述的执行设备,其特征在于,在应用程序库版本和系统程...

【专利技术属性】
技术研发人员:大井浩一
申请(专利权)人:佳能株式会社
类型:发明
国别省市:JP[日本]

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

1