[發明專利]一種在Java卡中實現本地方法調用的方法及裝置在審
| 申請號: | 201510737905.1 | 申請日: | 2015-11-03 |
| 公開(公告)號: | CN105426239A | 公開(公告)日: | 2016-03-23 |
| 發明(設計)人: | 秦遠富;肖洪琨;朱良銷 | 申請(專利權)人: | 大唐微電子技術有限公司;大唐半導體設計有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 胡艷華;栗若木 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 java 實現 本地 方法 調用 裝置 | ||
技術領域
本發明涉及數據處理系統中的指令操作技術領域,特別涉及一種在Java卡中實現本地方法調用的方法及裝置。
背景技術
Java卡是一種可以運行Java程序的智能卡。在Java卡中往往存有應用程序,這些應用程序可以是Java卡在開發時便存入的,也可以是在Java卡發行后加入的,這些應用程序往往可以在Java卡上進行修改。每個應用程序均可以被防火墻保護以維護其完整性以及防止干擾。
Java卡在工作過程中,往往需要調用各種各樣的方法。這些方法例如可以包括本地方法以及普通的靜態方法。所述本地方法可以是用C語言實現的方法,是Java代碼和C語言代碼的交互接口。
目前,Java卡實現本地方法調用的流程與實現普通靜態方法調用的流程是類似的,其步驟可以如下所述:
首先可以從Java代碼區獲取所需要調用的方法對應的標識,該方法對應的標識往往由2個字節構成。獲取到所述標識后,便可以根據該標識,對所需要調用的方法所在包(package)的位置以及代碼的位置進行定位。在定位到代碼的位置后,便可以從代碼中獲知所述方法對應的方法類型。若該方法類型為本地方法,則可以取出所述本地方法的索引,所述索引往往可以由2個字節構成。根據該索引,便可以查詢到對應的本地方法,然后便可以利用InvokeStatic指令進行調用。
在實施本發明的過程中,發明人發現現有技術至少存在如下問題:
從上述描述中可以發現,目前實現本地方法調用的步驟十分繁瑣,需要根據所需要調用的方法對應的標識,進行一系列定位過程,然后才可以獲取到該方法對應的索引,從而才能實現對該方法的調用。這種繁瑣的調用步驟無疑將增大整個系統的性能開銷,導致應用程序運行的速率變慢,給用戶帶來不好的體驗。
應該注意,上面對技術背景的介紹只是為了方便對本發明的技術方案進行清楚、完整的說明,并方便本領域技術人員的理解而闡述的。不能僅僅因為這些方案在本發明的背景技術部分進行了闡述而認為上述技術方案為本領域技術人員所公知。
發明內容
本發明實施例的目的在于提供一種在Java卡中實現本地方法調用的方法及裝置,以簡化本地方法調用的步驟,保證Java卡中應用程序的快速運行。
為了達到本發明目的,本發明提供了一種在Java卡中實現本地方法調用的方法,包括:在Java卡的指令系統中增設InvokeNative指令;在所述Java卡與應用進行代碼連接時,分析InvokeStatic指令調用的方法對應的方法類型;當分析的所述方法類型為本地方法時,將所述本地方法的調用指令修改為所述InvokeNative指令,并將所述本地方法的索引保存至所述InvokeNative指令中。
進一步地,在所述在Java卡的指令系統中增設InvokeNative指令之后,所述方法還包括:為所述InvokeNative指令分配唯一標識。
進一步地,所述分析InvokeStatic指令調用的方法對應的方法類型具體包括:提取InvokeStatic指令調用的方法對應的Java代碼區中的第一個字節;根據提取的所述第一個字節,判斷所述InvokeStatic指令調用的方法對應的方法類型。
進一步地,在將所述本地方法的索引保存至所述InvokeNative指令中之后,所述方法還包括:將所述本地方法的代碼從Java代碼區中去除。
進一步地,在將所述本地方法的索引保存至所述InvokeNative指令中之后,所述方法還包括:當所述本地方法通過所述InvokeNative指令被調用時,審核調用者的權限;根據審核的權限,確定所述本地方法是否能夠被調用。
進一步地,所述審核調用者的權限具體包括:提取調用者的包標識;將提取的所述包標識與預存的包標識進行比對,并根據比對結果確定所述調用者的權限。
進一步地,所述根據審核的權限,確定所述本地方法是否能夠被調用具體包括:當提取的所述包標識存在于所述預存的包標識中時,確定所述本地方法能夠被調用;當提取的所述包標識不存在于所述預存的包標識中時,確定所述本地方法不能夠被調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐微電子技術有限公司;大唐半導體設計有限公司,未經大唐微電子技術有限公司;大唐半導體設計有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510737905.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:包含有用于減小熱應力的雙緩沖層的靜電吸盤
- 下一篇:導航裝置





