[發(fā)明專利]內(nèi)存管理方法、裝置及電子設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 201810994016.7 | 申請(qǐng)日: | 2018-08-29 |
| 公開(kāi)(公告)號(hào): | CN109343953B | 公開(kāi)(公告)日: | 2021-03-09 |
| 發(fā)明(設(shè)計(jì))人: | 王飛飛;芮義根;許世林 | 申請(qǐng)(專利權(quán))人: | 蘇州科達(dá)科技股份有限公司;蘇州市科遠(yuǎn)軟件技術(shù)開(kāi)發(fā)有限公司;上海領(lǐng)世通信技術(shù)發(fā)展有限公司 |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50 |
| 代理公司: | 北京三聚陽(yáng)光知識(shí)產(chǎn)權(quán)代理有限公司 11250 | 代理人: | 成珊 |
| 地址: | 215011 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 內(nèi)存 管理 方法 裝置 電子設(shè)備 | ||
1.一種內(nèi)存管理方法,其特征在于,包括:
獲取應(yīng)用程序的內(nèi)存申請(qǐng)的請(qǐng)求;
基于所述請(qǐng)求分配第一內(nèi)存空間,并申請(qǐng)第二內(nèi)存空間;其中,所述第二內(nèi)存空間用于保存所述第一內(nèi)存空間的大小、所述第一內(nèi)存空間的引用次數(shù)中的至少之一;
將所述第一內(nèi)存空間與所述第二內(nèi)存空間進(jìn)行關(guān)聯(lián),并記錄到預(yù)先設(shè)置的關(guān)聯(lián)容器中;
獲取基于所述第一內(nèi)存空間的內(nèi)存操作指令;其中,所述內(nèi)存操作指令包括拷貝操作、賦值操作、運(yùn)算或內(nèi)存拷貝操作;
利用所述關(guān)聯(lián)容器以及所述內(nèi)存操作指令中操作對(duì)象的地址處理所述內(nèi)存操作指令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述關(guān)聯(lián)容器處理所述內(nèi)存操作指令,包括:
提取所述內(nèi)存操作指令中的操作對(duì)象;
基于所述操作對(duì)象的地址,查詢所述關(guān)聯(lián)容器中是否存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素;
當(dāng)所述關(guān)聯(lián)容器中不存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素時(shí),確定所述操作對(duì)象為空指針,停止后續(xù)處理步驟。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
當(dāng)所述關(guān)聯(lián)容器中存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素時(shí),確定與所述操作對(duì)象對(duì)應(yīng)的所述第一內(nèi)存空間的大小;
基于所述操作對(duì)象的地址以及所述操作對(duì)象的長(zhǎng)度,計(jì)算所述操作對(duì)象所需的內(nèi)存空間的大小;
比較確定出的所述第一內(nèi)存空間與計(jì)算出的所述內(nèi)存空間的大小關(guān)系;
當(dāng)計(jì)算出的所述內(nèi)存空間大于所述確定出的所述第一內(nèi)存空間時(shí),確定內(nèi)存越界,停止后續(xù)處理步驟。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述利用所述關(guān)聯(lián)容器處理所述內(nèi)存操作指令,包括:
當(dāng)所述關(guān)聯(lián)容器中存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素時(shí),基于所述內(nèi)存操作指令,修改所述第一內(nèi)存空間的引用次數(shù);
確定修改后的所述第一內(nèi)存空間的引用次數(shù)是否為零;
當(dāng)修改后的所述第一內(nèi)存空間的引用次數(shù)為零時(shí),釋放所述第一內(nèi)存空間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述內(nèi)存操作指令,修改所述第一內(nèi)存空間的引用次數(shù),包括:
當(dāng)所述內(nèi)存操作指令用于創(chuàng)建一個(gè)與所述第一內(nèi)存空間關(guān)聯(lián)的操作對(duì)象時(shí),所述第一內(nèi)存空間的引用次數(shù)加1;
當(dāng)所述內(nèi)存操作指令用于釋放一個(gè)與所述第一內(nèi)存空間關(guān)聯(lián)的操作對(duì)象時(shí),所述第一內(nèi)存空間的引用次數(shù)減1。
6.根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,所述利用關(guān)聯(lián)容器,綁定所述第一內(nèi)存空間與所述第二內(nèi)存空間,包括:
分別記錄所述第一內(nèi)存空間的地址以及所述第二內(nèi)存空間的地址,以得到兩個(gè)內(nèi)存空間的地址;
將兩個(gè)所述內(nèi)存空間的地址插入所述關(guān)聯(lián)容器中。
7.一種內(nèi)存管理裝置,其特征在于,包括:
第一獲取模塊,用于獲取應(yīng)用程序的內(nèi)存申請(qǐng)的請(qǐng)求;
分配模塊,用于基于所述請(qǐng)求分配第一內(nèi)存空間,并申請(qǐng)第二內(nèi)存空間;其中,所述第二內(nèi)存空間用于保存所述第一內(nèi)存空間的大小、所述第一內(nèi)存空間的引用次數(shù)中的至少之一;
綁定模塊,用于將所述第一內(nèi)存空間與所述第二內(nèi)存空間進(jìn)行關(guān)聯(lián),并記錄到預(yù)先設(shè)置的關(guān)聯(lián)容器中;
第二獲取模塊,用于獲取基于所述第一內(nèi)存空間的基于內(nèi)存操作指令;其中,所述內(nèi)存操作指令包括拷貝操作、賦值操作、運(yùn)算或內(nèi)存拷貝操作;
處理模塊,用于利用所述關(guān)聯(lián)容器以及所述內(nèi)存操作指令中操作對(duì)象的地址處理所述內(nèi)存操作指令。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理模塊,包括:
提取單元,用于提取所述內(nèi)存操作指令中的操作對(duì)象;
查詢單元,用于基于所述操作對(duì)象的地址,查詢所述關(guān)聯(lián)容器中是否存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素;
空指針停止單元,用于當(dāng)所述關(guān)聯(lián)容器中不存在與所述操作對(duì)象的地址對(duì)應(yīng)的元素,確定所述操作對(duì)象為空指針,停止后續(xù)處理步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州科達(dá)科技股份有限公司;蘇州市科遠(yuǎn)軟件技術(shù)開(kāi)發(fā)有限公司;上海領(lǐng)世通信技術(shù)發(fā)展有限公司,未經(jīng)蘇州科達(dá)科技股份有限公司;蘇州市科遠(yuǎn)軟件技術(shù)開(kāi)發(fā)有限公司;上海領(lǐng)世通信技術(shù)發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810994016.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





