<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JVM-Sandbox?動態(tài)非侵入 AOP 解決方案

          聯(lián)合創(chuàng)作 · 2023-10-01 07:40

          JVM-Sandbox,JVM 沙箱容器,一種基于 JVM 的非侵入式運行期 AOP 解決方案。

          JVM-SANDBOX 的核心功能:

          實時無侵入 AOP 框架

          在常見的 AOP 框架實現(xiàn)方案中,有靜態(tài)編織和動態(tài)編織兩種。

          1. 靜態(tài)編織
            靜態(tài)編織發(fā)生在字節(jié)碼生成時根據(jù)一定框架的規(guī)則提前將 AOP 字節(jié)碼插入到目標(biāo)類和方法中,實現(xiàn) AOP;

          2. 動態(tài)編織
            動態(tài)編織則允許在 JVM 運行過程中完成指定方法的 AOP 字節(jié)碼增強。常見的動態(tài)編織方案大多采用重命名原有方法,再新建一個同簽名的方法來做代理的工作模式來完成 AOP 的功能(常見的實現(xiàn)方案如 CgLib),但這種方式存在一些應(yīng)用邊界:

          • 侵入性
            對被代理的目標(biāo)類需要進行侵入式改造。比如:在 Spring 中必須是托管于 Spring 容器中的 Bean

          • 固化性
            目標(biāo)代理方法在啟動之后即固化,無法重新對一個已有方法進行 AOP 增強

          熱部署特性

          還有一些實現(xiàn) AOP 的方式是通過類似熱部署的方式完成,但現(xiàn)有的熱部署實現(xiàn)方案也存在一些應(yīng)用邊界:

          1. 性能折損巨大

          2. 對 JVM 存在侵入性

          3. 必須啟動時顯式開啟

          基于此通過 JDK 6 所提供的 Instrumentation-API 實現(xiàn)了利用 HotSwap 技術(shù)在不重啟 JVM 的情況下實現(xiàn)對任意方法的 AOP 增強。而且性能開銷還在可以接受的范圍之內(nèi)。

          動態(tài)可插拔容器

          為了實現(xiàn)沙箱模塊的動態(tài)熱插拔,容器客戶端和沙箱動態(tài)可插拔容器采用 HTTP 協(xié)議進行通訊,底層用 Jetty8 作為 HTTP 服務(wù)器。

          JVM 沙箱都有哪些可能的應(yīng)用場景

          • 線上故障定位

          • 線上系統(tǒng)流控

          • 線上故障模擬

          • 方法請求錄制和結(jié)果回放

          • 動態(tài)日志打印

          • 安全信息監(jiān)測和脫敏

          除此之外,JVM 沙箱還能幫助你做很多很多……

          瀏覽 17
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费操逼网址 | 国产乱伦高清视频免费看 | 亚州视频在线观看 | 操死我视频| 中文AV字幕网 |