国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      代碼處理方法、裝置、設(shè)備及存儲介質(zhì)與流程

      文檔序號:40326988發(fā)布日期:2024-12-18 13:03閱讀:8來源:國知局
      代碼處理方法、裝置、設(shè)備及存儲介質(zhì)與流程

      本申請涉及大數(shù)據(jù),尤其涉及一種代碼處理方法、裝置、設(shè)備及存儲介質(zhì)。


      背景技術(shù):

      1、動態(tài)字節(jié)碼增強(qiáng)和運(yùn)行時類型生成技術(shù),已經(jīng)是java領(lǐng)域常見的技術(shù)。這些增強(qiáng)技術(shù)大大的擴(kuò)展了基礎(chǔ)框架在運(yùn)行時的動態(tài)能力。然而,這些能力也給開發(fā)人員的調(diào)試跟蹤帶來了諸多不便之處。

      2、在當(dāng)下,研發(fā)人員可以利用各種開發(fā)工具對靜態(tài)部署的java編譯程序進(jìn)行調(diào)試和跟蹤,但目前尚未有一種方案有效地幫助開發(fā)人員理解增強(qiáng)后的字節(jié)碼的運(yùn)行邏輯,該段代碼隱藏的邏輯和不透明性往往成為開發(fā)人員跟蹤和理解技術(shù)流程的痛點(diǎn)。

      3、因此,如何輔助開發(fā)人員準(zhǔn)確便捷的理解增強(qiáng)的字節(jié)碼成為亟待解決的技術(shù)問題。


      技術(shù)實(shí)現(xiàn)思路

      1、本申請?zhí)峁┮环N代碼處理方法、裝置、設(shè)備及存儲介質(zhì),用以輔助開發(fā)人員準(zhǔn)確便捷的理解增強(qiáng)的字節(jié)碼。

      2、第一方面,本申請?zhí)峁┮环N代碼處理方法,包括:

      3、在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象;

      4、根據(jù)所述上下文對象,獲取目標(biāo)類的字節(jié)碼信息,所述目標(biāo)類為增強(qiáng)后的動態(tài)生成類;

      5、根據(jù)所述目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件。

      6、在一種可能的設(shè)計中,所述根據(jù)所述上下文對象,獲取目標(biāo)類的字節(jié)碼信息,包括:

      7、根據(jù)原始類,在所述上下文對象中確定出新增的類,并將所述新增的類作為所述目標(biāo)類;

      8、根據(jù)所述目標(biāo)類,獲取檢測接口運(yùn)行時的實(shí)例,得到目標(biāo)類的字節(jié)碼信息。

      9、在一種可能的設(shè)計中,所述根據(jù)所述目標(biāo)類,獲取檢測接口運(yùn)行時的實(shí)例,得到目標(biāo)類的字節(jié)碼信息,包括:

      10、利用所述檢測接口運(yùn)行時的實(shí)例執(zhí)行類文件轉(zhuǎn)換器實(shí)例,并傳入所述目標(biāo)類,觸發(fā)重新轉(zhuǎn)換操作,得到所述目標(biāo)類的字節(jié)碼信息。

      11、在一種可能的設(shè)計中,在所述根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象之前,所述方法還包括:

      12、創(chuàng)建所述監(jiān)聽接口實(shí)現(xiàn)類;

      13、將所述監(jiān)聽接口實(shí)現(xiàn)類加載至所述應(yīng)用程序的配置文件中。

      14、在一種可能的設(shè)計中,所述在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象,包括:

      15、將所述配置文件中的監(jiān)聽接口實(shí)現(xiàn)類作為攔截點(diǎn);

      16、在應(yīng)用程序的運(yùn)行過程中,根據(jù)所述攔截點(diǎn),在啟動完成事件的方法內(nèi)獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象。

      17、在一種可能的設(shè)計中,所述根據(jù)所述目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件,包括:

      18、對所述目標(biāo)類的字節(jié)碼信息進(jìn)行反編譯操作,得到所述目標(biāo)類的字節(jié)碼信息對應(yīng)的源代碼文件;

      19、利用預(yù)設(shè)的展示形式,將所述源代碼文件生成所述目標(biāo)文件并展示。

      20、第二方面,本申請?zhí)峁┮环N代碼處理裝置,包括:

      21、第一獲取模塊,用于在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象;

      22、第二獲取模塊,用于根據(jù)所述上下文對象,獲取目標(biāo)類的字節(jié)碼信息,所述目標(biāo)類為增強(qiáng)后的動態(tài)生成類;

      23、生成模塊,用于根據(jù)所述目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件。

      24、在一種可能的設(shè)計中,所述第二獲取模塊,具體用于:

      25、根據(jù)原始類,在所述上下文對象中確定出新增的類,并將所述新增的類作為所述目標(biāo)類;

      26、根據(jù)所述目標(biāo)類,獲取檢測接口運(yùn)行時的實(shí)例,得到目標(biāo)類的字節(jié)碼信息。

      27、在一種可能的設(shè)計中,所述第二獲取模塊,根據(jù)所述目標(biāo)類,獲取檢測接口運(yùn)行時的實(shí)例,得到目標(biāo)類的字節(jié)碼信息,具體為:

      28、利用所述檢測接口運(yùn)行時的實(shí)例執(zhí)行類文件轉(zhuǎn)換器實(shí)例,并傳入所述目標(biāo)類,觸發(fā)重新轉(zhuǎn)換操作,得到所述目標(biāo)類的字節(jié)碼信息。

      29、在一種可能的設(shè)計中,在所述根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象之前,所述第一獲取模塊,還用于:

      30、創(chuàng)建所述監(jiān)聽接口實(shí)現(xiàn)類;

      31、將所述監(jiān)聽接口實(shí)現(xiàn)類加載至所述應(yīng)用程序的配置文件中。

      32、在一種可能的設(shè)計中,所述第一獲取模塊,在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象,具體用于:

      33、將所述配置文件中的監(jiān)聽接口實(shí)現(xiàn)類作為攔截點(diǎn);

      34、在應(yīng)用程序的運(yùn)行過程中,根據(jù)所述攔截點(diǎn),在啟動完成事件的方法內(nèi)獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象。

      35、在一種可能的設(shè)計中,所述生成模塊,具體用于:

      36、對所述目標(biāo)類的字節(jié)碼信息進(jìn)行反編譯操作,得到所述目標(biāo)類的字節(jié)碼信息對應(yīng)的源代碼文件;

      37、利用預(yù)設(shè)的展示形式,將所述源代碼文件生成所述目標(biāo)文件并展示。

      38、第三方面,本申請實(shí)施例提供一種電子設(shè)備,包括:至少一個處理器和存儲器;

      39、所述存儲器存儲計算機(jī)執(zhí)行指令;所述至少一個處理器執(zhí)行所述存儲器存儲的計算機(jī)執(zhí)行指令,使得所述至少一個處理器執(zhí)行如上第一方面以及第一方面各種可能的設(shè)計所述的代碼處理方法。

      40、第四方面,本申請實(shí)施例提供一種計算機(jī)可讀存儲介質(zhì);

      41、所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)執(zhí)行指令,當(dāng)處理器執(zhí)行所述計算機(jī)執(zhí)行指令時,實(shí)現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計所述的代碼處理方法。

      42、第五方面,本申請實(shí)施例提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時,實(shí)現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計所述的代碼處理方法。

      43、本申請?zhí)峁┑拇a處理方法、裝置、設(shè)備及存儲介質(zhì),涉及大數(shù)據(jù)技術(shù)領(lǐng)域。在該方案中,通過在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取應(yīng)用程序中所有類的實(shí)例的上下文對象;根據(jù)上下文對象,獲取目標(biāo)類的字節(jié)碼信息,目標(biāo)類為增強(qiáng)后的動態(tài)生成類;根據(jù)目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件。該技術(shù)方案中,可以利用java的代理特性,獲取java應(yīng)用程序運(yùn)行時增強(qiáng)后的動態(tài)生成類的字節(jié)碼內(nèi)容,并對其進(jìn)行保存,之后得到可展示的java源碼程序,以供開發(fā)人員閱讀,輔助理解運(yùn)行時增強(qiáng)的邏輯和機(jī)制。



      技術(shù)特征:

      1.一種代碼處理方法,其特征在于,包括:

      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述上下文對象,獲取目標(biāo)類的字節(jié)碼信息,包括:

      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述目標(biāo)類,獲取檢測接口運(yùn)行時的實(shí)例,得到目標(biāo)類的字節(jié)碼信息,包括:

      4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,在所述根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象之前,所述方法還包括:

      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取所述應(yīng)用程序中所有類的實(shí)例的上下文對象,包括:

      6.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件,包括:

      7.一種代碼處理裝置,其特征在于,包括:

      8.一種電子設(shè)備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;

      9.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)執(zhí)行指令,所述計算機(jī)執(zhí)行指令被處理器執(zhí)行時用于實(shí)現(xiàn)如權(quán)利要求1-6中任一項(xiàng)所述的方法。

      10.一種計算機(jī)程序產(chǎn)品,其特征在于,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1-6中任一項(xiàng)所述的方法。


      技術(shù)總結(jié)
      本申請?zhí)峁┮环N代碼處理方法、裝置、設(shè)備及存儲介質(zhì),涉及大數(shù)據(jù)技術(shù)領(lǐng)域。在該方案中,首先通過在應(yīng)用程序的運(yùn)行過程中,根據(jù)預(yù)先配置的監(jiān)聽接口實(shí)現(xiàn)類,獲取應(yīng)用程序中所有類的實(shí)例的上下文對象;根據(jù)上下文對象,獲取目標(biāo)類的字節(jié)碼信息,目標(biāo)類為增強(qiáng)后的動態(tài)生成類;根據(jù)目標(biāo)類的字節(jié)碼信息,生成可展示的目標(biāo)文件。該技術(shù)方案中,可以利用Java的代理特性,獲取Java應(yīng)用程序運(yùn)行時增強(qiáng)后的動態(tài)生成類的字節(jié)碼內(nèi)容,并對其進(jìn)行保存,之后得到可展示的Java源碼程序,以供開發(fā)人員閱讀,輔助理解運(yùn)行時增強(qiáng)的邏輯和機(jī)制。

      技術(shù)研發(fā)人員:劉健,張同虎,楊艷光,李博
      受保護(hù)的技術(shù)使用者:建信金融科技有限責(zé)任公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/12/17
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1