欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法、服務(wù)端虛擬的制造方法

文檔序號(hào):6499040閱讀:271來(lái)源:國(guó)知局
Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法、服務(wù)端虛擬的制造方法
【專利摘要】本發(fā)明提供一種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法和服務(wù)端虛擬機(jī),該方法包括服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),該輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù);根據(jù)該輸入數(shù)據(jù),服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令;根據(jù)該輸入數(shù)據(jù),服務(wù)端虛擬機(jī)獲取調(diào)用函數(shù)和該調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類;在服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域;將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到該函數(shù)調(diào)用指令處開始解析執(zhí)行。本發(fā)明所述的加載方法使得不用因?yàn)橛?jì)算能力的不足而開發(fā)相應(yīng)服務(wù)器程序。另外,通過將Java應(yīng)用耗時(shí)的函數(shù)遷移到高性能的服務(wù)器上運(yùn)行,加速程序的執(zhí)行。
【專利說明】Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法、服務(wù)端虛擬機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在Linux系統(tǒng)下,java虛擬機(jī)實(shí)時(shí)加載來(lái)自文件或網(wǎng)絡(luò)等的運(yùn)行時(shí)(Runtime)數(shù)據(jù),更具體地,涉及一種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法和服務(wù)端虛擬機(jī)。
【背景技術(shù)】
[0002]由于Java應(yīng)用程序具有良好的移植性,其不僅在服務(wù)器領(lǐng)域上得到廣泛應(yīng)用,而且在移動(dòng)終端領(lǐng)域上也得到大規(guī)模應(yīng)用,如功能機(jī)上的java虛擬機(jī);特別是近年來(lái)的智能機(jī)操作系統(tǒng)android,其上的應(yīng)用都是java應(yīng)用。在一些場(chǎng)景下需要轉(zhuǎn)移java應(yīng)用的計(jì)算,比如服務(wù)器領(lǐng)域的負(fù)載均衡。又比如手機(jī)受制于硬件計(jì)算能力很有限,而云計(jì)算卻擁有超強(qiáng)的按需分配的計(jì)算能力,如果將二者結(jié)合起來(lái),即將在手機(jī)上運(yùn)行的應(yīng)用程序中比較耗時(shí)的函數(shù)放到云端執(zhí)行,手機(jī)將能得到更快的響應(yīng)速度。如何將正在運(yùn)行的java應(yīng)用程序的函數(shù)遷移呢?
[0003]目前比較通用的做法是利用遠(yuǎn)程過程調(diào)用的方式,首先在服務(wù)端實(shí)現(xiàn)客戶端要請(qǐng)求的函數(shù),java客戶端唯一需要完成的操作就是,使用遠(yuǎn)程過程調(diào)用的方式向服務(wù)端發(fā)送請(qǐng)求即可。這種方法需要開發(fā)和部署相應(yīng)服務(wù)器程序,會(huì)帶來(lái)比較大的開發(fā)、維護(hù)工作量,特別是絕大多數(shù)終端的java應(yīng)用本身就是獨(dú)立的單機(jī)應(yīng)用。
[0004]因此,需要一種不需要應(yīng)用程序源代碼,即能在云端執(zhí)行來(lái)自手機(jī)應(yīng)用程序的任意函數(shù)請(qǐng)求的方法。

【發(fā)明內(nèi)容】

[0005]為解決上述所述的技術(shù)缺陷,本發(fā)明提供一種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法和服務(wù)端虛擬機(jī),其目的在于,在高性能的服務(wù)器下,重新加載執(zhí)行來(lái)自其他系統(tǒng)的Java可執(zhí)行程序的指定函數(shù),從而提高該系統(tǒng)的應(yīng)用程序的運(yùn)行速度。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:
[0007]—種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法,包括:
[0008]服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù);
[0009]根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令;
[0010]根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)獲取調(diào)用函數(shù)和調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類;
[0011]在服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域;
[0012]將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到函數(shù)調(diào)用指令處開始解析執(zhí)行。
[0013]優(yōu)選地,服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),包括:
[0014]從輸入數(shù)據(jù)中的數(shù)據(jù)存儲(chǔ)文件中讀取數(shù)據(jù),數(shù)據(jù)存儲(chǔ)文件包含數(shù)據(jù)頭和數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)包含待執(zhí)行函數(shù)的參數(shù)表、靜態(tài)數(shù)據(jù)表、對(duì)象索引表以及與對(duì)象對(duì)應(yīng)的數(shù)據(jù)。
[0015]優(yōu)選地,待執(zhí)行函數(shù)的參數(shù)表包括待執(zhí)行函數(shù)對(duì)應(yīng)的類名、待執(zhí)行函數(shù)名、待執(zhí)行函數(shù)對(duì)應(yīng)的簽名;靜態(tài)數(shù)據(jù)表包括待執(zhí)行函數(shù)所需要構(gòu)造的靜態(tài)域的數(shù)量、靜態(tài)域列表。
[0016]優(yōu)選地,根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令,包括:
[0017]讀取輸入數(shù)據(jù)中的函數(shù)調(diào)用指令;
[0018]將讀取的函數(shù)調(diào)用指令存儲(chǔ)在新申請(qǐng)的空間內(nèi),并對(duì)函數(shù)調(diào)用指令進(jìn)行修改,用于使指定函數(shù)的參數(shù)在服務(wù)端虛擬機(jī)的堆棧上的順序與在客戶端的堆棧上的順序一致。
[0019]優(yōu)選地,對(duì)函數(shù)調(diào)用指令進(jìn)行修改,包括:
[0020]將第一類指令調(diào)整為**4* **#1032,其中*表示保留原始指令中對(duì)應(yīng)的部分;
[0021]將第二類指令調(diào)整為**#0000,其中*表示保留原始指令中對(duì)應(yīng)的部分,0000表不第一個(gè)開始的寄存器是O號(hào)寄存器。
[0022]優(yōu)選地,本發(fā)明的方法還包括:在所構(gòu)造的函數(shù)調(diào)用指令后邊增加結(jié)束處理指令。
[0023]優(yōu)選地,在服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域,包括:
[0024]將原生類型的傳入?yún)?shù)直接拷貝到服務(wù)端虛擬機(jī)的堆棧上,雙精度浮點(diǎn)型(double)的傳入?yún)?shù)占用8個(gè)字節(jié)的堆??臻g,其他類型的傳入?yún)?shù)均占用4字節(jié)的堆??臻g;
[0025]將對(duì)象類型的傳入?yún)?shù)恢復(fù)對(duì)象之間的引用關(guān)系;
[0026]根據(jù)指定函數(shù)的靜態(tài)域鏈表逐個(gè)恢復(fù)靜態(tài)域。
[0027]優(yōu)選地,本發(fā)明的方法還包括:
[0028]在服務(wù)端虛擬機(jī)執(zhí)行完指定函數(shù)后,將指定函數(shù)的執(zhí)行返回值、所使用的傳入?yún)?shù)、靜態(tài)域返回至客戶端。
[0029]優(yōu)選地,本發(fā)明的方法還包括:
[0030]如果指定函數(shù)中調(diào)用有非Java語(yǔ)言編寫的函數(shù),則將該非Java語(yǔ)言編寫的函數(shù)的庫(kù)編譯在服務(wù)器虛擬機(jī)上運(yùn)行。
[0031]一種服務(wù)端虛擬機(jī),包括:
[0032]存儲(chǔ)與解析裝置,用于存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),其中輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù);
[0033]指令構(gòu)造裝置,用于根據(jù)輸入數(shù)據(jù),構(gòu)造函數(shù)調(diào)用指令;
[0034]獲取裝置,用于根據(jù)輸入數(shù)據(jù),獲取調(diào)用函數(shù)和所述調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類;
[0035]加載裝置,用于在服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域;以及
[0036]解析執(zhí)行裝置,用于將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到該函數(shù)調(diào)用指令處開始解析執(zhí)行。
[0037]優(yōu)選地,存儲(chǔ)與解析裝置包括:
[0038]數(shù)據(jù)讀取模塊,用于從輸入數(shù)據(jù)中的數(shù)據(jù)存儲(chǔ)文件中讀取數(shù)據(jù),其中數(shù)據(jù)存儲(chǔ)文件包含數(shù)據(jù)頭和數(shù)據(jù)區(qū),所述數(shù)據(jù)區(qū)包含待執(zhí)行函數(shù)的參數(shù)表、靜態(tài)數(shù)據(jù)表、對(duì)象索引表以及與對(duì)象對(duì)應(yīng)的數(shù)據(jù)。
[0039]優(yōu)選地,指令構(gòu)造裝置包括:
[0040]指令讀取模塊,用于讀取輸入數(shù)據(jù)中的函數(shù)調(diào)用指令;以及[0041]指令修改模塊,用于將讀取的函數(shù)調(diào)用指令存儲(chǔ)在新申請(qǐng)的空間內(nèi),并對(duì)該函數(shù)調(diào)用指令進(jìn)行修改,用于使指定函數(shù)的參數(shù)在所述服務(wù)端虛擬機(jī)的堆棧上的順序與在所述客戶端的堆棧上的順序一致。
[0042]優(yōu)選地,服務(wù)端虛擬機(jī)還包括:
[0043]發(fā)送裝置,用于在執(zhí)行完所述指定函數(shù)后,將指定函數(shù)的執(zhí)行返回值、所使用的傳入?yún)?shù)、靜態(tài)域返回至客戶端。
[0044]本發(fā)明由于采取以上所述的技術(shù)方案,其包括以下優(yōu)點(diǎn):與現(xiàn)有的遠(yuǎn)程調(diào)用方法相比,本發(fā)明的方法使得不用因?yàn)橛?jì)算能力的不足而開發(fā)相應(yīng)服務(wù)器程序。另外,通過將Java應(yīng)用耗時(shí)的函數(shù)遷移到高性能的服務(wù)器上運(yùn)行,加速程序的執(zhí)行。
【專利附圖】

【附圖說明】
[0045]在此說明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示例性的實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制;在附圖中:
[0046]圖1是依據(jù)本發(fā)明的方法的流程圖。
【具體實(shí)施方式】
[0047]為了使本發(fā)明的技術(shù)方案更加清楚明白,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)闡述。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的各種方式可以相互組合。
[0048]本發(fā)明提供一種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法,該方法可以包括:
[0049]服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù);
[0050]根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令;
[0051 ] 根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)獲取調(diào)用函數(shù)和調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類;
[0052]在服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域;
[0053]將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到函數(shù)調(diào)用指令處開始解析執(zhí)行。
[0054]可選擇地,服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),可以包括:
[0055]從輸入數(shù)據(jù)中的數(shù)據(jù)存儲(chǔ)文件中讀取數(shù)據(jù),數(shù)據(jù)存儲(chǔ)文件包含數(shù)據(jù)頭和數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)包含待執(zhí)行函數(shù)的參數(shù)表、靜態(tài)數(shù)據(jù)表、對(duì)象索引表以及與對(duì)象對(duì)應(yīng)的數(shù)據(jù)。
[0056]可選擇地,待執(zhí)行函數(shù)的參數(shù)表可以包括待執(zhí)行函數(shù)對(duì)應(yīng)的類名、待執(zhí)行函數(shù)名、待執(zhí)行函數(shù)對(duì)應(yīng)的簽名;靜態(tài)數(shù)據(jù)表可以包括待執(zhí)行函數(shù)所需要構(gòu)造的靜態(tài)域的數(shù)量、靜態(tài)域列表。
[0057]可選擇地,根據(jù)輸入數(shù)據(jù),服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令,可以包括:
[0058]讀取輸入數(shù)據(jù)中的函數(shù)調(diào)用指令;
[0059]將讀取的函數(shù)調(diào)用指令存儲(chǔ)在新申請(qǐng)的空間內(nèi),并對(duì)函數(shù)調(diào)用指令進(jìn)行修改,用于使指定函數(shù)的參數(shù)在服務(wù)端虛擬機(jī)的堆棧上的順序與在客戶端的堆棧上的順序一致。
[0060]可選擇地,本發(fā)明的方法還可以包括:
[0061]在服務(wù)端虛擬機(jī)執(zhí)行完指定函數(shù)后,將指定函數(shù)的執(zhí)行返回值、所使用的傳入?yún)?shù)、靜態(tài)域返回至客戶端。[0062]可選擇地,本發(fā)明的方法還可以包括:
[0063]如果指定函數(shù)中調(diào)用有非Java語(yǔ)言編寫的函數(shù),則將該非Java語(yǔ)言編寫的函數(shù)的庫(kù)編譯在服務(wù)器虛擬機(jī)上運(yùn)行。
[0064]以Android系統(tǒng)為例,下面描述中將使用服務(wù)端來(lái)表不x86體系結(jié)構(gòu)、Linux環(huán)境的計(jì)算機(jī)。移動(dòng)端表示arm體系結(jié)構(gòu)、Android系統(tǒng)的手機(jī)。
[0065]針對(duì)上述過程,具體實(shí)現(xiàn)方案如下:
[0066]1、按指定的格式存儲(chǔ)和解析輸入數(shù)據(jù)
[0067]輸入數(shù)據(jù)指的是要實(shí)現(xiàn)執(zhí)行指定函數(shù)(或方法)所需要的函數(shù)參數(shù)數(shù)據(jù)。
[0068]從指定的數(shù)據(jù)存儲(chǔ)文件(或網(wǎng)絡(luò)中)讀取特定存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)文件中主要包含:數(shù)據(jù)頭,待執(zhí)行方法的參數(shù)表,靜態(tài)數(shù)據(jù)表,對(duì)象索引表及對(duì)象對(duì)應(yīng)的數(shù)據(jù)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)使用下列結(jié)構(gòu)進(jìn)行表示。
[0069]
【權(quán)利要求】
1.一種Java應(yīng)用程序函數(shù)遷移運(yùn)行時(shí)的加載方法,包括: 服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),所述輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù); 根據(jù)所述輸入數(shù)據(jù),所述服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令; 根據(jù)所述輸入數(shù)據(jù),所述服務(wù)端虛擬機(jī)獲取調(diào)用函數(shù)和所述調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類; 在所述服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域; 將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到所述函數(shù)調(diào)用指令處開始解析執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端虛擬機(jī)存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),包括: 從所述輸入數(shù)據(jù)中的數(shù)據(jù)存儲(chǔ)文件中讀取數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)文件包含數(shù)據(jù)頭和數(shù)據(jù)區(qū),所述數(shù)據(jù)區(qū)包含待執(zhí)行函數(shù)的參數(shù)表、靜態(tài)數(shù)據(jù)表、對(duì)象索引表以及與對(duì)象對(duì)應(yīng)的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述待執(zhí)行函數(shù)的參數(shù)表,包括待執(zhí)行函數(shù)對(duì)應(yīng)的類名、待執(zhí)行函數(shù)名、待執(zhí)行函數(shù)對(duì)應(yīng)的簽名; 所述靜態(tài)數(shù)據(jù)表,包括待執(zhí)行函數(shù)所需要構(gòu)造的靜態(tài)域的數(shù)量、靜態(tài)域列表。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述輸入數(shù)據(jù),所述服務(wù)端虛擬機(jī)構(gòu)造函數(shù)調(diào)用指令,包括: 讀取所述輸入數(shù)據(jù)中的函數(shù)調(diào)用指令; 將讀取的函數(shù)調(diào)用指令存儲(chǔ)在新申請(qǐng)的空間內(nèi),并對(duì)所述函數(shù)調(diào)用指令進(jìn)行修改,用于使指定函數(shù)的參數(shù)在所述服務(wù)端虛擬機(jī)的堆棧上的順序與在所述客戶端的堆棧上的順序一致。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,對(duì)所述函數(shù)調(diào)用指令進(jìn)行修改,包括: 將第一類指令調(diào)整為**4* ****1032,其中*表示保留原始指令中對(duì)應(yīng)的部分; 將第二類指令調(diào)整為**** ****0000,其中*表示保留原始指令中對(duì)應(yīng)的部分,0000表不第一個(gè)開始的寄存器是O號(hào)寄存器。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,還包括: 在所構(gòu)造的函數(shù)調(diào)用指令后邊增加結(jié)束處理指令。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域,包括: 將原生類型的傳入?yún)?shù)直接拷貝到所述服務(wù)端虛擬機(jī)的堆棧上,雙精度浮點(diǎn)型(double)的傳入?yún)?shù)占用8個(gè)字節(jié)的堆??臻g,其他類型的傳入?yún)?shù)均占用4字節(jié)的堆棧空間; 將對(duì)象類型的傳入?yún)?shù)恢復(fù)對(duì)象之間的引用關(guān)系; 根據(jù)指定函數(shù)的靜態(tài)域鏈表逐個(gè)恢復(fù)靜態(tài)域。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在所述服務(wù)端虛擬機(jī)執(zhí)行完所述指定函數(shù)后,將所述指定函數(shù)的執(zhí)行返回值、所使用的傳入?yún)?shù)、靜態(tài)域返回至所述客戶端。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 如果所述指定函數(shù)中調(diào)用有非Java語(yǔ)言編寫的函數(shù),則將該非Java語(yǔ)言編寫的函數(shù)的庫(kù)編譯在所述服務(wù)器虛擬機(jī)上運(yùn)行。
10.一種服務(wù)端虛擬機(jī),包括: 存儲(chǔ)與解析裝置,用于存儲(chǔ)并解析來(lái)自客戶端的輸入數(shù)據(jù),所述輸入數(shù)據(jù)是執(zhí)行客戶端上指定函數(shù)所需要的函數(shù)參數(shù)數(shù)據(jù); 指令構(gòu)造裝置,用于根據(jù)所述輸入數(shù)據(jù),構(gòu)造函數(shù)調(diào)用指令; 獲取裝置,用于根據(jù)所述輸入數(shù)據(jù),獲取調(diào)用函數(shù)和所述調(diào)用函數(shù)對(duì)應(yīng)的類,并加載該類; 加載裝置,用于在所述服務(wù)端虛擬機(jī)的堆棧上加載指定函數(shù)執(zhí)行時(shí)所需要的傳入?yún)?shù)和靜態(tài)域;以及 解析執(zhí)行裝置,用于將解析器指針指向所構(gòu)造的指令區(qū)域,跳轉(zhuǎn)到所述函數(shù)調(diào)用指令處開始解析執(zhí)行。
11.根據(jù)權(quán)利要求10所述的服務(wù)端虛擬機(jī),其特征在于,所述存儲(chǔ)與解析裝置包括: 數(shù)據(jù)讀取模塊,用于從所述輸入數(shù)據(jù)中的數(shù)據(jù)存儲(chǔ)文件中讀取數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)文件包含數(shù)據(jù)頭和數(shù)據(jù)區(qū),所述數(shù)據(jù)區(qū)包含待執(zhí)行函數(shù)的參數(shù)表、靜態(tài)數(shù)據(jù)表、對(duì)象索引表以及與對(duì)象對(duì)應(yīng)的數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述的服務(wù)端虛擬機(jī),其特征在于,所述指令構(gòu)造裝置包括: 指令讀取模塊,用于讀取所述輸入數(shù)據(jù)中的函數(shù)調(diào)用指令;以及 指令修改模塊,用于將讀取的函數(shù)調(diào)用指令存儲(chǔ)在新申請(qǐng)的空間內(nèi),并對(duì)所述函數(shù)調(diào)用指令進(jìn)行修改,用于使指定函數(shù)的參數(shù)在所述服務(wù)端虛擬機(jī)的堆棧上的順序與在所述客戶端的堆棧上的順序一致。
13.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的服務(wù)端虛擬機(jī),其特征在于,還包括: 發(fā)送裝置,用于在 執(zhí)行完所述指定函數(shù)后,將所述指定函數(shù)的執(zhí)行返回值、所使用的傳入?yún)?shù)、靜態(tài)域返回至所述客戶端。
【文檔編號(hào)】G06F9/455GK103927193SQ201310013743
【公開日】2014年7月16日 申請(qǐng)日期:2013年1月15日 優(yōu)先權(quán)日:2013年1月15日
【發(fā)明者】鄒同亮, 何曉峰, 董強(qiáng), 劉震, 張鵬 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新龙县| 竹溪县| 西充县| 法库县| 新巴尔虎右旗| 工布江达县| 亳州市| 高安市| 黄山市| 平乡县| 昌图县| 宜兴市| 桐乡市| 临漳县| 泸州市| 韩城市| 天等县| 阳春市| 卓尼县| 保康县| 西宁市| 奉贤区| 东宁县| 和田市| 甘洛县| 温泉县| 剑川县| 海阳市| 开化县| 巴青县| 云和县| 荔浦县| 柯坪县| 天台县| 泰州市| 珠海市| 木里| 阿城市| 新源县| 肇东市| 库尔勒市|