CN1781077A - 选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源 - Google Patents

选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源 Download PDF

Info

Publication number
CN1781077A
CN1781077A CN200480011187.XA CN200480011187A CN1781077A CN 1781077 A CN1781077 A CN 1781077A CN 200480011187 A CN200480011187 A CN 200480011187A CN 1781077 A CN1781077 A CN 1781077A
Authority
CN
China
Prior art keywords
java
equipment
class
j2me
resource file
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
CN200480011187.XA
Other languages
English (en)
Other versions
CN1781077B (zh
Inventor
P·H·尼科尔斯
J·李
J·罗思
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.)
Sony Mobile Communications AB
Original Assignee
Sony Ericsson Mobile Communications AB
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 Sony Ericsson Mobile Communications AB filed Critical Sony Ericsson Mobile Communications AB
Publication of CN1781077A publication Critical patent/CN1781077A/zh
Application granted granted Critical
Publication of CN1781077B publication Critical patent/CN1781077B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

通过选择性地将在Java微型设备中调试Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载该设备中,从而在该Java微型设备中对Java应用程序进行调试,该子集是从主计算机中的Java类和/或Java资源文件的集合中自动选择的。因此,可以减少或消除在开始调试时就加载含所有类和/或资源的可能巨大的Java ARchive(JAR)文件的需要。本发明还可用于从主计算机加载在设备上调试应用程序期间使用的模块。

Description

选择性地加载用于在Java微型设备 中调试Java应用程序的远程类或资源
发明领域
本发明涉及利用Java的数据处理方法、系统和计算机程序产品,更具体地说,涉及调试Java应用程序的系统、方法和计算机程序产品。
发明背景
Java是一种功能全面的面向对象编程语言。因此,Java程序(应用程序)通过建立彼此交互作用的软件部件的结构化集合而产生期望效果。这些部件称为对象,并且可以安排在对象类体系结构中,对象类也简称为类。Java程序不是直接在计算机的操作系统上运行,而是在Java虚拟机(JVM)上运行,该Java虚拟机本身就是在计算机操作系统上运行的程序。由于Java的面向对象特性及JVM的标准化,Java程序可提供“一旦编写,随地运行”(WORA)的能力。Java是计算机领域技术人员众所周知的,不必在本文中进一步描述。
由于Java的使用扩展了,它已经延伸至更大和更小规模的平台。因此,Java现在扩展到超出用于服务器和个人计算机的Java2平台标准版(J2SE),扩展到了Java2平台企业版(J2EE),这是一个用于开发、建立和部署企业应用程序的平台无关的以Java为中心的环境,以及扩展到了Java2平台微型版(J2ME),它允许开发者使用Java来建立用于无线、移动以及诸如个人数字助理、机顶盒、嵌入设备以及移动电话等消费设备的应用程序。
在J2ME中,JVM经常被称为千字节虚拟机(KVM),以指示其尺寸小。J2ME移动信息设备简表(MIDP)允许开发者为J2ME设备编写可下载应用程序和服务。这些应用程序和服务常常称为MIDlet。
J2ME的设计和操作在例如Sun Microsystems公司于2002发布的题为“Java 2 Platform,Micro Edition”的数据表中进行了概括。此外,可以理解,在本文中所用的术语“J2ME”用于表示利用Java微型版(Micro Edition)的任何存储受限设备。
许多供应商提供Java集成开发环境(IDE),作为软件开发者软件包(SDK)的一部分或者与之联合。IDE也可以与SDK分开提供。如图1所示,IDE110可在主计算机上运行,主计算机在本文中也简单地称为主机120,主机120可包括个人计算机或工作站,并且与仿真器130接口。IDE110还可以与其中包括KVM150和一个或多个应用程序(MIDlet)160的实际J2ME设备140接口。主机120和J2ME设备140之间的连接170可以是有线和/或无线的。IDE110和仿真器130之间的接口112称为统一仿真器接口(UEI)。可以通过有线和/或无线连接170在J2ME设备140上的KVM150和IDE110之间提供接口。
如本领域技术人员众所周知的,在设计应用程序(MIDlet)160时,可能希望在设计阶段期间和/或之后对应用程序进行调试。许多调试技术都是本领域技术人员熟知的,因此不必在本文中描述。事实上,IDE110通常提供利用仿真器130对应用程序的源级调试。遗憾的是,为了成功地调试一个应用程序160,可能需要为要编写的用于各J2ME设备140的应用程序160提供一个新的仿真器130。此外,可能希望在J2ME设备140本身中的KVM150上调试应用程序160。但是,KVM150的有限尺寸可能使将调试程序加载到J2ME设备中非常费时。此外,KVM150的有限尺寸在一些情况下可使在J2ME设备140上运行调试程序不可能。开发者还知道要将所选文件打包以便在J2ME设备140上加载。
发明概述
本发明的实施例可通过选择性地将在J2ME设备中调试Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到J2ME设备中,以便在该J2ME设备中对Java应用程序进行调试,所述子集是从主计算机中的Java类和/或Java源文件的集合中自动选择的。因此,可以减少或消除在开始调试时就加载包含J2ME类和/或资源的整个集合的可能巨大的Java ARchive(JAR)文件的需要。事实上,在本发明的一些实施例中,仅仅在调试Java应用程序期间使用的那些类/源可以自动地从主计算机加载到J2ME设备中。
在一些动态实施例中,在调试所述应用程序期间引用Java类和/或Java资源文件时将它们从主计算机加载到J2ME设备中。在特定实施例中,在J2ME设备上安装JAR文件,并且一些实施例中,在J2ME设备上安装空的JAR文件。Java应用程序在J2ME设备中进行调试,直到Java类和/或Java资源文件被引用。从主计算机请求Java类和/或Java资源文件,并将其加载到KVM中。然后,利用加载到KVM中的Java类和/或Java资源文件在J2ME设备中继续调试Java应用程序。在调试期间引用新的Java类和/或新的Java资源文件时,可以依次重复执行请求Java类和/或Java资源文件,加载所请求的类和/或资源文件并继续调试的操作。
在其它静态实施例中,自动地在主计算机确定调试期间使用的所述Java类和/或Java资源文件子集,并自动地将该子集从主计算机加载到J2ME设备中。更具体地说,在一些实施例中,获得调试Java应用程序的入口点类。递归地确定在调试期间从入口点类引用的其它Java类和/或Java资源文件。预先安装的类/源列表用于排除在J2ME设备中预先安装的那些另外的Java类和/或Java资源文件。然后,在J2ME设备上安装JAR文件,并且将除了J2ME设备中预先安装的另外的Java类和/或Java资源文件之外的入口点类和递归确定的另外的Java和/或Java资源文件加载到KVM中。
在其它混合实施例中,可以组合如上所述的动态实施例和静态实施例的各方面。例如,在主计算机自动地确定调试期间使用的所述Java类和/或Java资源文件子集中的一些,并且将其从主计算机加载到J2ME设备中,如以上所述。然后,在调试Java应用程序期间,如果引用的是没有加载到KVM中的Java类和/或Java资源文件,则将引用的Java类和/或Java资源文件从主计算机加载到J2ME设备中。还可以提供其它混合实施例。
在本发明的其它实施例中,在调试Java应用程序期间使用的所述Java类和/或Java资源文件子集在J2ME设备处于开发模式时自动地从主计算机加载到J2ME设备中。相反,在部署模式下,使用预先安装在J2ME设备中的Java类和/或资源文件。
以上主要就方法方面描述了本发明的实施例。但应理解,本发明的实施例还可以提供用于在J2ME设备中调试Java应用程序的系统和/或计算机程序产品,以及还可提供用于J2ME设备的IDE以及J2ME设备本身。此外,尽管已就J2ME设备中的MIDlet调试对本发明的实施例进行了描述,但本发明的实施例还可以应用于在任何Java设备,即运行Java的任何设备中调试Java应用程序。最后,本发明的其它实施例可用于调试在设备中运行的任何应用程序,无论该应用程序是Java应用程序、另一种面向对象编程的应用程序或常规的功能应用程序。设备可以是Java设备、利用非Java的面向对象编程系统操作的设备或利用常规功能编程的设备。因此,本发明的实施例可用于使用其它编程语言的代码模块(如对象、库、子程序、类等)的设备外加载,其它编程语言例如为在普遍的、个人的、应用和/或企业设备上运行的C、C++、PERL、NET。
附图简述
图1是常规J2ME调试环境的方块图。
图2是根据本发明的实施例,用于在J2ME设备中调试Java应用程序的系统、方法和计算机程序产品。
图3-8是根据本发明的各种实施例,可执行以在J2ME设备中调试Java应用程序的操作的流程图。
图9和10是说明根据本发明的实施例,在J2ME设备中调试Java应用程序的实例的流程图。
详细说明
随后,将在下面参考显示本发明的实施例的附图更完整地描述本发明。然而,本发明可以许多替代形式实施,并且不应将本发明视为限于本文所述的实施例。
因此,虽然本发明可以进行各种修改并采取各种备选形式,但附图中仅例示了本发明的一些特定实施例,并且本文将对这些特定实施例进行详细描述。但是,应该理解,并不打算将本发明限制于所公开的特定形式,而是相反,本发明要涵盖属于权利要求所定义的本发明的精神和范围的所有修改、等效物及替代形式。附图描述中,相同的附图标记表示相同的部件。
下面参考根据本发明的实施例的方法、装置(系统)和/或计算机程序产品的方块图和/或流程图对本发明进行描述。应该理解,方块图和/或流程图中的各个方块以及方块图和/或流程图中方块的组合,可以用计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机和/或其它可编程数据处理装置的处理器,以产生一个机器,使得通过计算机和/或其它可编程数据处理装置的处理器执行的指令建立用于实现一个/多个方块图和/或流程图方块中指定的功能动作的部件。
这些计算机程序指令也可以保存在计算机可读存储器中,其可控制计算机或其它可编程数据处理设备以特定方式发挥作用,使得保存在计算机可读存储器中的指令产生一个产品,该产品包括实现一个/多个方块图和/或流程图块中指定的功能/动作的指令。
计算机程序指令还可以加载到计算机或其它可编程数据处理装置中,导致在计算机或其它可编程设备上执行一系列操作步骤,以产生一个计算机实现的过程,使得在计算机和/或其它可编程数据处理设备上执行的指令提供实现一个/多个方块图和/或流程图方块中指定的功能/动作的步骤。
还应注意,在一些备选实现方案中,方块中给出的功能/动作可能以与流程图所示不同的顺序发生。例如,顺序显示的两个方块事实上可基本上同时执行,或者这些方块有时可以相反的顺序执行,具体取决于所涉及的功能/动作。
图2是根据本发明的各种实施例,可用于在J2ME设备240中调试Java应用程序或MIDlet260的系统、方法和/或计算机程序产品的方块图。主机220包括其上的IDE210。接口可用于在主机220和J2ME设备240之间提供用于调试的有线和/或无线连接270。应用程序(MIDlet)260在J2ME设备240上的KVM250上运行。此段落中描述的部件的设计和操作是本领域技术人员所熟知的,不需要在本文中进一步描述。
仍参考图2,根据本发明的实施例,可以提供伪仿真器230,它可利用UEI接口212与IDE210接口。主机设备外类/资源加载(或加载器)功能280可以添加到伪仿真器230中,并且设备设备外类/资源加载(或加载器)功能290可以添加到J2ME设备240中。主机设备外类/资源加载(或加载器)功能280可以设在一个或多个模块和/或电路中,作为SDK的一部分,并且可以至少部分地集成在IDE210和/或伪仿真器230中,或者可包括与IDE210和/或仿真器230接口的一个或多个分离的模块和/或电路。类似地,在J2ME设备240上,设备设备外类/资源加载(或加载器)功能290可以设在一个或多个模块和/或电路中,至少部分集成在KVM250和/或应用程序260中,或者可包括一个或多个分离的模块和/或电路。
图3是根据本发明的一些实施例,可执行以在诸如J2ME设备240的J2ME设备中调试诸如应用程序260的Java应用程序的操作的流程图。可以理解,这些操作可以通过图2的主机设备外类/资源加载功能280和/或设备设备外类/资源加载功能290执行。如图3所示,在方块320中,设备外类/资源加载310可以通过选择性地将在J2ME设备240中调试Java应用程序期间使用的Java类和/或Java资源文件子集从诸如主机220的主计算机加载到J2ME设备中来提供,所述子集是从主机220中的Java类和/或Java资源文件的集合中自动选择的。因此,可以减少加载时间,并且调试可以在一个小的KVM250上成功地执行。
图4和5是说明图3的块320的其它实施例的流程图。具体地说,如图4所示,在动态实施例320′中,仅仅在方块410中调试Java应用程序260期间引用Java类和/或Java资源文件时,才将它们从主计算机220加载到J2ME设备240中。或者,如图5所示,在静态实施例320″中,在方块510,在主机220自动地确定将在调试Java应用程序期间使用的Java类和/或Java资源文件子集。然后,在方块520,将在方块510自动确定的所述Java类和/或Java资源文件子集从主机220加载到J2ME240设备中。还可以提供组合图4和5的各方面的混合实施例。图4和/或图5的实施例还可以在“每类/文件”的基础上执行和/或针对多类和/或文件执行。可以理解,应用程序中的一些程序结构可旁路掉静态确定运行时可能引用哪些类的能力。因此,图5的实施例可能不能够自动地确定将引用的所有类/资源文件。因此可以采用混合实施例。
图6是可用于在调试Java应用程序期间引用Java类和/或Java资源文件时,将它们从主计算机加载到J2ME设备中的操作的流程图,它可对应于图4的方块410。如方块610所示,在J2ME设备上安装空的JAR文件。如本领域技术人员所熟知的,JAR文件使开发者能够将多个文件捆绑为单个档案文件。通常,JAR文件会包含与应用程序关联的类文件和辅助资源。在方块620,在J2ME设备240中调试Java应用程序,直到引用Java类和/或Java资源文件。在方块630,从主计算机220请求Java类和/或Java资源文件。在方块640,将从主计算机220请求的Java类和/或Java资源文件加载到KVM中。在方块650,在J2ME设备240中利用加载到KVM中的Java类和/或Java资源文件继续调试。
仍继续对图6的描述,在一些实施例中,在方块660,确定调试期间是否引用另一个Java类和/或Java资源文件。如果这样,则重复块630、640和650的操作直到不再需要Java类或资源文件或者调试结束。因此,在调试期间引用Java类和/或Java资源文件时,可以依次重复执行块630、640和650的操作。
图7是可用于在主计算机220确定在调试期间将使用的Java类和/或Java资源文件子集的操作的流程图,其可对应于图5的方块510。如图7所示,在方块710,获得用于调试Java应用程序的入口点类。然后,在方块720,递归地确定在调试Java应用程序期间从入口点类引用的另外的Java类和/或Java资源文件,从而确定引用的另外的类/资源文件和所述另外的类/资源文件引用的另外的类/资源文件等。在方块730,排除预先安装在J2ME设备中的另外的Java类和/或资源文件。可以理解,方块730的操作可以与方块720的操作同时执行和/或在其之后执行。因此,除了预先安装的那些Java类/资源之外,可以在方块520将递归确定的要在调试期间引用的Java类和/或资源从主机加载到J2ME设备中。具体地说,在一些实施例中,通过在J2ME设备上安装JAR文件执行加载,并且除预先安装的另外的Java类/资源以外,将递归确定的另外的类/资源文件加载到J2ME设备上的JAR文件中。
可以理解,在一些实施例中,方块510和图7的操作可以利用主计算机220上的伪仿真器230执行,以便可以在主计算机220确定类和/或Java资源子集。然后,将这些Java类和/或Java资源文件加载到J2ME设备240中。还可以理解,可以根据本发明的其它实施例提供图3-7的组合和子组合。
图8是根据本发明的实施例,可用于集成J2ME设备的开发和部署模式的操作的流程图。如图8所示,在方块810,利用常规技术在J2ME设备240中选择设备模式。如果在方块810选择了开发模式,那么执行根据本发明的实施例的方块320的操作,以便选择性地将在J2ME设备中调试Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到J2ME设备中,该子集是从主计算机中的Java类和/或Java源文件的集合中自动选择的。可以理解,在开发模式中应用程序可以由开发者运行和/或调试。相反,如果进入了部署模式,那么在方块820,预先安装的Java类和/或Java资源文件用于在设备的部署模式期间运行应用程序。因此,设备外类加载用于开发模式,而设备上类加载用于部署模式。因此,在本发明的一些实施例中,JVM上的类加载器可加以修改,以便在开发模式期间从主机得到文件,但在部署模式期间从J2ME设备自己的文件系统得到文件。
现在将对本发明的实施例作进一步讨论。在本发明之前,当执行对Java应用程序160的设备上源级调试时,主机120常常将所有的类和其它资源文件封装在一个CLASSPATH中,由Java IDE110通过UEI接口传递。本领域技术人员所熟知的是,CLASSPATH是JVM上的一个环境变量,它指示Java类和其它资源文件所处的位置。它列出含编译的Java类的目录的名称。JAR文件包含Java类和/或资源本身。因此,此单个JAR文件的尺寸通常非常大。尺寸可以约为1Mb或更大的大JAR文件随后会安装在J2ME设备上。此安装可花费大量时间,例如大概几分钟,这可能使得设备上调试对Java开发者而言不可用。此外,在许多情形下,JAR文件完全超过J2ME设备的存储容量,因此不会成功加载。在其它情形中,开发者可人工将调试期间可能需要的类/资源打包。但是,开发者的选择可引入错误。
本发明的一些实施例可基于这样的实现:CLASSPATH可包括可能不需要的额外的库文件,但是Java IDE不会知道哪些类将用于调试Java应用程序。这个问题不局限于Java类,因为它还影响Java资源文件,比如可能包括在CLASSPATH中的图像、音频文件和/或任何其它数据文件。
但是,利用根据本发明的动态实施例的设备外类加载,运行J2ME设备240的KVM250开始运行并调试MIDlet(应用程序)260,而不需要预先加载Java类和/或资源文件到J2ME设备中。不是将CLASSPATH内容打包到可能巨大的JAR文件中,而是将空的JAR文件安装在J2ME设备240中,并且将入口点类(扩展MIDlet的类)的名称传递到KVM250。然后,KVM250开始运行Java应用程序260,并且当它需要加载类或资源文件时,它向通过串口、红外线、蓝牙和/或其它有线和/或无线接口270连接的主机220上运行的IDE210发出请求与主机。主机220保持原始CLASSPATH的副本,定位请求的文件或者资源,然后将文件传送给J2ME设备240。这样,在一些实施例中,仅将调试期间KVM250所需要的文件传送到J2ME设备。因此,可能的是,迅速地利用支持UEI接口的Java IDE执行设备上调试会话。启动时间可以显著降低。
在本发明的静态实施例中,如例如图4所示,灵活CLASSPATH打包器可从UEI CLASSPATH和入口点类开始。从这个入口点类开始,主机设备外类/资源加载功能280通过检查类文件和寻找引用的类来确定哪些类被引用。以递归的方式,可以检查每个新引用的类,以确定它引用哪些类。因此,建立运行/调试MIDlet260所需的所有类的列表或子集。灵活CLASSPATH打包器还可以从这个列表中排除已知为预先安装在例如特定J2ME设备的只读存储器(ROM)中的所有类。由此,可以建立一个短的类文件类列表,并将这个列表用于建立较小的JAR文件。CLASSPATH中的所有资源文件(非类文件)也可包含到该JAR文件中。确定会需要哪些资源文件的一种技术是在伪仿真器230中实际运行/调试应用程序。此外,资源集合可以是动态的,因为它可取决于在应用程序运行/调试时执行哪些代码路径。
现在将提供本发明的一些实施例的其它细节。图9是一个特定操作实例的流程图,可执行这些操作以便在调试应用程序期间引用Java类和/或Java资源文件时,将它们从主计算机220加载到J2ME设备240中(如例如图3的方块410所示),并具体说明了可在图6中执行的操作。
如图9所示,IDE在操作910发起调试操作,并且在操作920将空的JAR文件安装到KVM上,该操作920可对应于图6的方块610。调试操作在操作930和940开始,这对应于图6的方块630。在操作950,从主机请求Java类和/或Java资源文件,这可对应于图6的方块630,并且在操作960,KVM加载类,这可对应于方块640。随着调试的进行,这些操作可在操作970继续,例如如图6的方块660所示。
可由J2ME设备240中的KVM250使用,以便与在主机220上运行的主机设备外类/资源加载功能280通信的示例协议如下:
KVM请求的格式:
<getFile name=″[file_name]″/>
肯定的主机响应格式:
[4-bytes size][N-bytes of data]
4字节长度(4-bytes size)可以按最高有效字节最先,最低有效字节最后的大端(big endian)顺序写入接口270中。
否定的主机响应的格式为:
[0x00x00x00x00]
图10中显示了可以施行以便执行图9的getFile操作950、970的特定操作实例。显示了主机上的设备外类/资源加载功能280和KVM240之间的通信。示例请求可以如下示出:
<getFile name=″/com/semc/example/ManyBalls.class″/>
<getFile name=″/rsc/Imagel.png″/>。
概而言之,本发明的实施例可允许以更有效和/或稳健以便可由第三方应用开发者使用的方式对要在J2ME设备中执行的Java应用程序进行设备上源级调试。设备制造商可不必向第三方开发者为其正在销售的每个J2ME设备提供设备准确的仿真器。相反,Java开发者可利用可能的最准确的环境开发应用程序:实际的J2ME设备。此外,开发者可利用他们选择的IDE调试应用程序。
在附图和说明书中,公开了本发明的实施例,尽管采用了特定的术语,但它们仅在一般的和说明性的意义上使用,而不是为了限制,本发明的范围在以下权利要求书中陈述。

Claims (50)

1.一种方法,用于在Java 2微型版(J2ME)设备中对Java应用程序进行调试,包括:
选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。
2.如权利要求1所述的方法,其中所述选择性地加载包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。
3.如权利要求1所述的方法,其中所述选择性地加载包括:
在所述主计算机确定在调试所述Java应用程序期间使用的所述Java类和/或所述Java资源文件子集;以及
从所述主计算机加载所确定的所述Java类和/或所述Java资源文件的子集到所述J2ME设备中。
4.如权利要求2所述的方法,其中在调试所述应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中还包括:
在所述J2ME设备上安装Java ARchive(JAR)文件;
在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;
从所述主计算机请求所述Java类和/或所述Java资源文件;
将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及
利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。
5.如权利要求4所述的方法,其中所述安装包括在所述J2ME设备上安装空的JAR文件。
6.如权利要求4所述的方法,其中依次重复执行:所述在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;所述从所述主计算机请求所述Java类和/或所述Java资源文件;所述将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及所述利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。
7.如权利要求3所述的方法,其中所述确定包括:
获得用于调试所述Java应用程序的入口点类;以及
递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述J2ME设备中的另外的Java类和/或资源文件。
8.如权利要求7所述的方法,其中所述从所述主计算机将确定的所述Java类和/或Java资源文件子集加载到所述J2ME设备中包括:
在所述J2ME设备上安装Java ARchive(JAR)文件;以及
将除了预先安装在所述J2ME设备中的另外的Java类和/或Java资源文件以外的所述入口点类和递归确定的另外的Java类和/或Java资源文件加载到所述J2ME设备中。
9.如权利要求3所述的方法,其中所述确定包括:
在所述主计算机处的仿真器上调试所述Java应用程序;以及
基于所述在所述主计算机处的仿真器上调试所述Java应用程序,在所述主计算机确定将在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集。
10.如权利要求3所述的方法,其中所述选择性地加载还包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。
11.如权利要求1所述的方法,
其中所述选择性地加载包括响应于所述J2ME设备处于开发模式,选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,该子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。
12.如权利要求11所述的方法,还包括:
在部署模式期间使用预先安装在所述J2ME设备上的Java类和/或Java资源文件。
13.一种方法,用于在Java设备中对Java应用程序进行调试,包括:
选择性地将在所述Java设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述Java设备中,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。
14.如权利要求13所述的方法,其中所述选择性地加载包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中。
15.如权利要求13所述的方法,其中所述选择性地加载包括:
在所述主计算机确定将在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集;以及
从所述主计算机加载所确定的所述Java类和/或Java资源文件子集到所述Java设备中。
16.如权利要求14所述的方法,其中所述在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中还包括:
在所述Java设备上安装Java ARchive(JAR)文件;
在所述Java设备中调试所述Java应用程序,直到Java类和/或Java资源文件被引用;
从所述主计算机请求所述Java类和/或所述Java资源文件;
将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述Java设备中;以及
利用加载到所述Java设备中的所述Java类和/或所述Java资源文件继续在所述Java设备中调试所述Java应用程序。
17.如权利要求15所述的方法,其中所述确定包括:
获得用于调试所述Java应用程序的入口点类;以及
递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述Java设备中的另外的Java类和/或资源文件。
18.如权利要求15所述的方法,其中所述选择性地加载包括:在调试所述应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中。
19.如权利要求13所述的方法,
其中所述选择性地加载包括响应于所述Java设备处于开发模式,选择性地将在所述Java设备中调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集从主计算机加载到所述Java设备中,该子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。
20.如权利要求19所述的方法,还包括:
在部署模式期间使用预先安装在所述Java设备上的Java类和/或Java资源文件。
21.一种Java 2微型版(J2ME)设备,包括:
千字节虚拟机(KVM);
所述KVM上运行的至少一个应用程序;以及
设备外类/资源加载器,它被配置为选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,所述子集是从所述主计算机中的Java类和/或Java资源文件的集合中自动选择的。
22.如权利要求21所述的J2ME设备,其中所述设备外类/资源加载器还被配置为在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。
23.如权利要求21所述的J2ME设备,其中所述设备外类/资源加载器还被配置为将在所述主计算机确定的在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集从所述主计算机加载到所述J2ME设备中。
24.如权利要求22所述的J2ME设备,其中所述设备外类/资源加载器还被配置为:
在所述J2ME设备上安装Java ARchive(JAR)文件;
在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;
从所述主计算机请求所述Java类和/或所述Java资源文件;
将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及
利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。
25.如权利要求24所述的J2ME设备,其中所述设备外类/资源加载器还被配置为在所述J2ME设备上安装空的JAR文件。
26.如权利要求21所述的J2ME设备,
其中所述设备外类/资源加载器响应于所述J2ME设备的开发模式。
27.如权利要求26所述的J2ME设备,还包括:
设备上类/资源加载器,它被配置为在部署模式期间使用预先安装在所述J2ME设备上的Java类和/或Java资源文件。
28.一种系统,用于在Java 2微型版(J2ME)设备中对Java应用程序进行调试,包括:
主计算机;
所述主计算机上的集成开发环境(IDE);以及
设备外类/资源加载器,它被配置为选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源子集从所述主计算机加载到所述J2ME设备中,该子集是从所述主计算机中的Java类和/或Java资源文件的集合中自动选择的。
29.如权利要求28所述的系统,其中所述设备外类/资源加载器还被配置为在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。
30.如权利要求28所述的系统,其中所述设备外类/资源加载器还被配置为确定将在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集,以及将确定的所述Java类和/或Java资源文件子集加载到所述J2ME设备中。
31.如权利要求29所述的系统,其中所述设备外类/资源加载器还被配置为:
在所述J2ME设备上安装Java ARchive(JAR)文件;
在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;
将从所述主计算机引用的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及
利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。
32.如权利要求31所述的系统,其中所述设备外类/资源加载器还被配置为在所述J2ME设备上安装空的JAR文件。
33.如权利要求30所述的系统,其中所述设备外类/资源加载器还被配置为通过如下步骤确定将在所述调试期间使用的所述Java类和/或Java资源文件子集:
获得用于调试所述Java应用程序的入口点类;以及
递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述Java设备中的另外的Java类和/或资源文件。
34.如权利要求33所述的系统,其中所述设备外类/资源加载器还被配置为通过如下步骤从所述主计算机将确定的所述Java类和/或Java资源文件子集加载到所述J2ME设备中:
在所述J2ME设备上安装Java ARchive(JAR)文件;以及
将除了预先安装在所述J2ME设备中的另外的Java类和/或Java资源文件以外的所述入口点类和递归确定的另外的Java类和/或Java资源文件加载到所述J2ME设备中。
35.如权利要求30所述的系统,其中所述系统还包括所述主计算机上的仿真器,并且其中所述设备外类/资源加载器还被配置为通过如下步骤确定所述调试期间将使用的所述Java类和/或Java资源文件子集:
在所述仿真器上调试所述Java应用程序;以及
在所述主计算机确定在所述主计算机的所述仿真器上调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集。
36.如权利要求35所述的系统,其中所述设备外类/资源加载器还被配置为:
在所述J2ME设备上安装Java ARchive(JAR)文件;以及
将在所述仿真器上调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集加载到所述J2ME设备中。
37.一种计算机程序产品,用于在设备中调试应用程序,所述计算机程序产品包括计算机可用存储介质,所述介质中嵌入有计算机可读程序代码,所述计算机可读程序代码包括:
配置为选择性地将在所述设备中调试所述应用程序期间使用的代码模块子集从主计算机加载到所述设备中的计算机可读程序代码,其中所述子集是从所述主计算机中的代码模块的集合中自动选择的。
38.如权利要求37所述的计算机程序产品,其中配置为选择性地加载的所述计算机可读程序代码包括配置为在调试所述应用程序期间引用代码模块时,将其所述主计算机加载到所述设备中。
39.如权利要求37所述的计算机程序产品,其中配置为选择性地加载的所述计算机可读程序代码包括:
配置为在所述主计算机确定所述调试所述应用程序期间使用的代码模块子集的计算机可读程序代码;以及
配置为将确定的所述代码模块子集从所述主计算机加载到所述设备中的计算机可读程序代码。
40.如权利要求38所述的计算机程序产品,其中所述应用程序是Java应用程序,其中所述代码模块是Java类和/或Java资源文件,并且其中配置为在调试所述应用程序期间引用代码模块时,将其从所述主计算机加载到所述设备中的计算机可读程序代码还包括:
配置为在所述J2ME设备上安装Java ARchive(JAR)文件的计算机可读程序代码;
配置为在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用的计算机可读程序代码;
配置为从所述主计算机请求所述Java类和/或所述Java资源文件的计算机可读程序代码;
配置为将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中的计算机可读程序代码;以及
配置为利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序的计算机可读程序代码。
41.如权利要求40所述的计算机程序产品,其中配置为要安装的计算机可读程序代码包括配置为在所述J2ME设备上安装空的JAR文件的计算机可读程序代码。
42.如权利要求39所述的计算机程序产品,其中所述应用程序是Java应用程序,其中所述代码模块是Java类和/或Java资源文件,并且其中配置为确定的所述代码模块包括:
配置为获得用于调试所述Java应用程序的入口点类的计算机可读程序代码;以及
配置为递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述J2ME设备中的另外的Java类和/或资源文件的计算机可读程序代码。
43.如权利要求42所述的计算机程序产品,其中配置为从所述主计算机加载所确定的所述Java类和/或Java资源文件子集到所述J2ME设备中的计算机可读程序代码包括:
配置为在所述J2ME设备上安装Java ARchive(JAR)文件的计算机可读程序代码;以及
配置为将除了预先安装在所述J2ME设备中的另外的Java类和/或Java资源文件以外的所述入口点类和递归确定的另外的Java类和/或Java资源文件加载到所述J2ME设备中的计算机可读程序代码。
44.如权利要求39所述的计算机程序产品,其中配置为确定的所述计算机可读程序代码包括:
配置为在所述主计算机处的仿真器上调试所述应用程序的计算机可读程序代码;以及
配置为在所述主计算机基于配置为在所述主计算机处的仿真器上调试应用程序的计算机可读程序代码,确定将在调试所述应用程序期间使用的所述代码模块子集的计算机可读程序代码。
45.如权利要求37所述的计算机程序产品,其中所述应用程序是Java应用程序,其中所述代码模块是Java类和/或Java资源文件,并且其中配置为从所述主计算机加载所确定的所述Java类和/或Java资源文件子集到所述J2ME设备中的计算机可读程序代码包括:
配置为在所述J2ME设备上安装Java ARchive(JAR)文件的计算机可读程序代码;以及
配置为将在所述主计算机处的仿真器上调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集加载到所述J2ME设备上的所述JAR文件中的计算机可读程序代码。
46.如权利要求37所述的计算机程序产品,
其中所述配置为选择性地加载的所述计算机可读程序代码包括:配置为响应于所述设备处于开发模式,选择性地将在所述设备中调试应用程序期间使用的代码模块子集从主计算机加载所述设备中的计算机可读程序代码,其中所述子集是从所述主计算机中的代码模块的集合中自动选择的。
47.如权利要求46所述的计算机程序产品,还包括:
配置为在部署模式期间使用预先安装在所述设备上的代码模块的计算机可读程序代码。
48.一种系统,用于在Java 2微型版(J2ME)设备中对Java应用程序进行调试,包括:
主计算机;以及
用于选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从所述主计算机加载到所述J2ME设备中的部件,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。
49.如权利要求48所述的系统,其中用于所述选择性地加载的部件包括用于在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中的部件。
50.如权利要求49所述的系统,其中用于所述选择性地加载的部件包括:
用于在所述主计算机确定在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集的部件;以及
用于从所述主计算机加载所确定的所述Java类和/或Java资源文件子集到所述J2ME设备中的部件。
CN200480011187.XA 2003-04-29 2004-01-14 选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源的系统和方法 Expired - Fee Related CN1781077B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/424,566 US7337434B2 (en) 2003-04-29 2003-04-29 Off-device class/resource loading methods, systems and computer program products for debugging a Java application in a Java micro device
US10/424,566 2003-04-29
PCT/IB2004/000153 WO2004097639A2 (en) 2003-04-29 2004-01-14 Selective loading of remote classes or resources for debugging a java application in a java micro device

Publications (2)

Publication Number Publication Date
CN1781077A true CN1781077A (zh) 2006-05-31
CN1781077B CN1781077B (zh) 2012-03-28

Family

ID=33309601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480011187.XA Expired - Fee Related CN1781077B (zh) 2003-04-29 2004-01-14 选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源的系统和方法

Country Status (5)

Country Link
US (1) US7337434B2 (zh)
EP (1) EP1620796A2 (zh)
JP (1) JP2006525575A (zh)
CN (1) CN1781077B (zh)
WO (1) WO2004097639A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176781A (zh) * 2011-12-22 2013-06-26 北京东方广视科技股份有限公司 一种实现软件产品客户化的方法及设备
CN101763257B (zh) * 2009-09-22 2013-10-16 浙江数芳科技有限公司 java类预处理通信系统及java类预处理方法
CN103593292A (zh) * 2013-11-19 2014-02-19 北京深思数盾科技有限公司 调试程序的系统及方法
CN106201745A (zh) * 2016-07-08 2016-12-07 深圳中兴网信科技有限公司 应用程序的远程调试方法、远程调试系统和终端

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149929B2 (en) * 2003-08-25 2006-12-12 Hewlett-Packard Development Company, L.P. Method of and apparatus for cross-platform core dumping during dynamic binary translation
US20060095385A1 (en) * 2004-10-26 2006-05-04 Paul Atkinson Method and network for selectively controlling the utility a target
US20060161896A1 (en) * 2005-01-14 2006-07-20 International Business Machines Corporation Performing debug requests that are within the debug domain of a class loader
WO2006084357A1 (en) * 2005-02-10 2006-08-17 Tira Wireless Inc. Outputting debug messages for applications intended for mobile devices
US7765537B2 (en) * 2005-11-21 2010-07-27 International Business Machines Corporation Profiling interface assisted class loading for byte code instrumented logic
US7941515B2 (en) * 2006-01-13 2011-05-10 Cisco Technology, Inc. Applying a filter set to information provided to a subscribing client
EP2002334A1 (en) * 2006-03-31 2008-12-17 British Telecommunications Public Limited Company Xml-based transfer and a local storage of java objects
WO2007113550A1 (en) * 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Exception handler for the upgrade of java objects in a distributed system
US20080115109A1 (en) * 2006-11-13 2008-05-15 Bostick James E Enhanced Hover Help For Software Debuggers
US20080141225A1 (en) * 2006-12-06 2008-06-12 Bostick James E Method for migrating files
US8862696B2 (en) * 2009-09-08 2014-10-14 Sony Corporation Interconnecting applications on personal computers and mobile terminals through a web server
CN102147734B (zh) * 2010-02-10 2016-01-13 甲骨文国际公司 运行时类提取的方法和系统
US8479154B1 (en) * 2010-08-20 2013-07-02 Google Inc. Interaction with partially constructed mobile device applications
CN103164307A (zh) * 2011-12-12 2013-06-19 鸿富锦精密工业(深圳)有限公司 调试系统及方法
US8909992B2 (en) 2012-11-27 2014-12-09 International Business Machines Corporation Dynamic concolic execution of an application
US9619214B2 (en) 2014-08-13 2017-04-11 International Business Machines Corporation Compiler optimizations for vector instructions
US10290133B2 (en) 2014-09-26 2019-05-14 Oracle International Corporation High fidelity interactive screenshots for mobile applications
US10073679B2 (en) 2014-09-26 2018-09-11 Oracle International Corporation Efficient and intuitive databinding for mobile applications
US9858174B2 (en) 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features
US9826045B2 (en) * 2014-09-26 2017-11-21 Oracle International Corporation Efficient means to test server generated applications on mobile device
US9851968B2 (en) 2014-09-26 2017-12-26 Oracle International Corporation High performant iOS template based application build system
US9870237B2 (en) 2014-10-14 2018-01-16 Oracle International Corporation System and method for supporting distributed class loading in a virtual machine (VM)
US9588746B2 (en) 2014-12-19 2017-03-07 International Business Machines Corporation Compiler method for generating instructions for vector operations on a multi-endian processor
US10169014B2 (en) 2014-12-19 2019-01-01 International Business Machines Corporation Compiler method for generating instructions for vector operations in a multi-endian instruction set
US11102313B2 (en) 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10013668B2 (en) 2015-08-14 2018-07-03 Oracle International Corporation Secure storage of enterprise certificates for cloud services
US10419514B2 (en) 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US10452497B2 (en) 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US9880821B2 (en) 2015-08-17 2018-01-30 International Business Machines Corporation Compiler optimizations for vector operations that are reformatting-resistant
US9594668B1 (en) * 2015-09-04 2017-03-14 International Business Machines Corporation Debugger display of vector register contents after compiler optimizations for vector instructions
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
JP7018437B2 (ja) 2016-09-16 2022-02-10 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
WO2021014324A1 (en) * 2019-07-19 2021-01-28 JFrog Ltd. Data archive release in context of data object
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11321225B2 (en) * 2020-05-22 2022-05-03 International Business Machines Corporation Reducing the memory load time for logic simulator by leveraging architecture simulator

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226665B1 (en) * 1996-09-19 2001-05-01 Microsoft Corporation Application execution environment for a small device with partial program loading by a resident operating system
WO1998037486A1 (en) 1997-02-18 1998-08-27 International Business Machines Corporation Method for lookup of packages and classes in java, and devices making use of this method
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
JP3463925B2 (ja) * 1999-09-29 2003-11-05 日立ソフトウエアエンジニアリング株式会社 計算機システム
US7231644B2 (en) 2000-02-04 2007-06-12 Aol Llc, A Delaware Limited Liability Company Optimized delivery of web application code
JP2002215411A (ja) 2001-01-19 2002-08-02 Hitachi Ltd Javaアプリケーション実行装置
GB2372119A (en) 2001-02-13 2002-08-14 Lux Inflecta Ehf Distributed computing system
US20020129351A1 (en) * 2001-03-07 2002-09-12 Nexusedge Technologies Pty. Ltd. Software engine and method for software application loading
US7640153B2 (en) 2001-06-04 2009-12-29 Hewlett-Packard Development Company, L.P. Networked client-server architecture for transparently transforming and executing applications
US8205193B2 (en) * 2001-06-11 2012-06-19 Hewlett-Packard Development Company, L.P. Runtime updating of virtual machine class files
US7334228B2 (en) * 2001-07-27 2008-02-19 International Business Machines Corporation Runtime-resource management
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763257B (zh) * 2009-09-22 2013-10-16 浙江数芳科技有限公司 java类预处理通信系统及java类预处理方法
CN103176781A (zh) * 2011-12-22 2013-06-26 北京东方广视科技股份有限公司 一种实现软件产品客户化的方法及设备
CN103176781B (zh) * 2011-12-22 2016-03-16 北京东方广视科技股份有限公司 一种实现软件产品客户化的方法及设备
CN103593292A (zh) * 2013-11-19 2014-02-19 北京深思数盾科技有限公司 调试程序的系统及方法
CN106201745A (zh) * 2016-07-08 2016-12-07 深圳中兴网信科技有限公司 应用程序的远程调试方法、远程调试系统和终端

Also Published As

Publication number Publication date
WO2004097639A2 (en) 2004-11-11
JP2006525575A (ja) 2006-11-09
US20040221268A1 (en) 2004-11-04
WO2004097639A3 (en) 2005-07-28
CN1781077B (zh) 2012-03-28
EP1620796A2 (en) 2006-02-01
US7337434B2 (en) 2008-02-26

Similar Documents

Publication Publication Date Title
CN1781077A (zh) 选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源
US7337436B2 (en) System and method for cross platform and configuration build system
US8799885B2 (en) Method and system for automated root-cause analysis for class loading failures in java
CN105094922B (zh) 应用程序免安装运行控制方法及其装置
Simon et al. Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine
US6272674B1 (en) Method and apparatus for loading a Java application program
US7784043B2 (en) Method and system for automated code-source indexing in Java Virtual Machine environment
US6571388B1 (en) Building a custom software environment including pre-loaded classes
US7840943B2 (en) Method and apparatus for transferring data in a distributed testing system
Young Using aspectj to build a software product line for mobile devices
US20090271771A1 (en) System and methods for distributed execution of computer executable programs utilizing asymmetric translation
CN100549957C (zh) 一种类装载隔离的方法及一种类装载隔离的装置
US7313789B1 (en) Methods and systems for reducing a program size
US8141042B2 (en) Extending portability of java code through the use of AOP
CN100511140C (zh) 构件化软件系统实现脚本语言调用多输出参数接口的方法
US7331047B2 (en) Deterministic system and method for implementing software distributed between a desktop and a remote device
US20040157593A1 (en) Modularization for J2ME platform implementation
CN112860232B (zh) 组件实施方法及装置
CN107315596A (zh) 一种代码自动打包部署方法和装置
CN111338638A (zh) 实现自动生成嵌入式软件部件之间通信的系统及其方法
CN108008983B (zh) 基于单进程的多接口数据处理方法
US20030018962A1 (en) System and method for accessing streaming data
CN113467860B (zh) 一种程序源代码的业务逻辑执行方法及装置
CN113805878B (zh) 插件工程化方法、装置、计算机系统和介质
CN115878282A (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

Granted publication date: 20120328

Termination date: 20130114

CF01 Termination of patent right due to non-payment of annual fee