<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁 科技百科 aspect java

    aspect java

    文檔

    aspect java

    aspect java是一個面向切面的框架,它擴(kuò)展了Java語言。AspectJ定義了AOP語法所以它有一個專門的編譯器用來生成遵守Java字節(jié)編碼規(guī)范的Class文件。
    推薦度:
    導(dǎo)讀aspect java是一個面向切面的框架,它擴(kuò)展了Java語言。AspectJ定義了AOP語法所以它有一個專門的編譯器用來生成遵守Java字節(jié)編碼規(guī)范的Class文件。

    aspect java是一個面向切面的框架,它擴(kuò)展了Java語言。AspectJ定義了AOP語法所以它有一個專門的編譯器用來生成遵守Java字節(jié)編碼規(guī)范的Class文件。

    首先是幾個概念:

    aspect(層面)

    pointcut(切入點(diǎn))

    advice(建議)

    weave(織入)

    LTW(加載期織入 load time weave)

    按照aspectj的語法規(guī)則,一個aspect就是很多pointcut和advice的集合,也就是一個*.aj的文件。

    一個pointcut就是對target class的切入點(diǎn)定義,類似Java class定義中的field。

    一個advice就是對target class的行為改變,類似Java class中的method。

    weave就是aspectj runtime庫把a(bǔ)spect織入到target class的行為。

    LTW就是指運(yùn)行期間動態(tài)織入aspect的行為,它是相對靜態(tài)織入行為(包括對源文件、二進(jìn)制文件的修改)。

    一般來講,從運(yùn)行速度上來說,靜態(tài)織入比動態(tài)織入要快些。因?yàn)長TW需要使用aspectj本身的classloader,它的效率要低于jdk的classloader,因此當(dāng)需要load的class非常多時,就會很慢的。

    pycharm, ?o?è?ˉ??2, ?oo ??? ???è′1?′??????????

    舉個例子來說明aspectj的使用:

    scenario: Example工程需要使用一個類Line存在于第三方庫Line.jar中,但是Line本身沒有實(shí)現(xiàn)Serializable接口,并且其toString方法輸出也不完善。因此這兩點(diǎn)都需要修改。

    Line的實(shí)現(xiàn):

    package?bean;
    public?class?Line?{undefined
    protected?int?x1?=?0;
    protected
    int?x2?=?0;
    public?int
    getX1(){undefined
    return?x1;
    }
    public?int
    getX2(){undefined
    return?x2;
    }
    public?void
    setLength(int?newX,?int?newY){undefined
    setX1(newX);
    setX2(newY);
    }
    public?void
    setX1(int?newX)?{undefined
    x1?=?newX;
    }
    public?void
    setX2(int?newY)?{undefined
    x2?=?newY;
    }
    public
    String?toString(){undefined
    return?"("?+?getX1()?+?",?"?+?getX2()?+?")"?;
    }
    }
    Main?entry?:
    public?class?MyExample?{undefined
    private?Line?line?=?null;
    public?MyExample()?{undefined
    line?=?new?Line();
    System.err.println("Line
    implement?serializable?interface?:?"
    +
    (line?instanceof?Serializable));
    }
    public?void?showMe()?{undefined
    System.out.println("Show?all
    about?me?...");
    System.out.println(line.toString());
    }
    public?static?void?main(String[]?args)?{undefined
    MyExample?demo?=?new
    MyExample();
    //?i?want?to?change?the?action
    of?show?me,?but?i?cannot?get?line?source.
    //?so?i?will?trying?load-time
    weaving
    demo.showMe();
    }
    }
    output?:
    Line?implement?serializable?interface?:?true
    Show?all?about?me?...
    (0,?0)

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    aspect java

    aspect java是一個面向切面的框架,它擴(kuò)展了Java語言。AspectJ定義了AOP語法所以它有一個專門的編譯器用來生成遵守Java字節(jié)編碼規(guī)范的Class文件。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    怎樣改抖音名字的昵稱 assert java asterisk java axis java bitset java boolean java brew java c#調(diào)用java c#調(diào)用java接口 cache java calendar java qq實(shí)名認(rèn)證怎么解除 callable java character java class轉(zhuǎn)java cmake java compareto java 被刪的微信聊天記錄怎么找回來 continue java django java ansible java ajax java antlr java 交管12123怎么查科目一分?jǐn)?shù) abstract java 拼多多拒收在哪里操作 微信恢復(fù)刪除的聊天記錄 微信掃碼不能掃了怎么辦 怎樣查看微信刪除的聊天記錄 兩個二維碼怎么拼一起 電腦忘記開機(jī)密碼怎么辦 js 字符串轉(zhuǎn)數(shù)字 linux ftp python range函數(shù) java 泛型 java json java final java foreach java hashmap java lambda
    Top 香蕉久久国产精品免| 久久久国产成人精品| 国产在线国偷精品产拍免费| 国产精品日本一区二区在线播放| 国产精品香蕉成人网在线观看| 99re热久久这里只有精品6| 久久99精品久久久久久噜噜| 精品无码国产污污污免费| 亚洲视频精品在线观看| 精品国产日产一区二区三区| 国产成人精品免费视频大全| 精品国产一区二区三区香蕉事| 久久久久久精品免费看SSS| 久久精品国产亚洲网站| 久久免费国产精品| 狠狠热精品免费观看| 日韩精品视频美在线精品视频| 亚洲精品永久在线观看| 久久国产亚洲精品无码| 国产精品99久久99久久久| 天美传媒精品1区2区3区| 国产国产成人久久精品| 精品人妻一区二区三区四区在线| 成人精品一区二区三区电影| 2020天堂在线亚洲精品专区| 91亚洲精品视频| 久久国产精品二区99| 亚洲国产精品无码久久SM| 国产精品无码A∨精品影院| 91探花福利精品国产自产在线| 国产精品五月天强力打造| 国产vA免费精品高清在线观看| 午夜亚洲国产精品福利| 国产精品JIZZ在线观看无码| 97视频精品全国在线观看| 亚洲日本精品一区二区| 久久国产乱子伦精品在| 亚洲第一精品在线视频| 精品一区二区三区在线成人| 久久精品午夜一区二区福利| 99久久99热精品免费观看国产|