<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內(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 精品免费tv久久久久久久| 含羞草国产亚洲精品岁国产精品| 精品无码国产污污污免费网站国产 | 在线观看精品国产福利片87 | 精品福利视频一区二区三区 | 久久午夜精品视频| 九九热这里只有国产精品| 精品国产一区二区三区香蕉事| 亚洲精品在线视频观看| 久久综合精品不卡一区二区| 91精品美女在线| 亚洲无码日韩精品第一页| 国外AV无码精品国产精品| 中文国产成人精品久久不卡| 亚洲精品国产福利片| 无码国内精品久久人妻| 日本人精品video黑人| 骚包在线精品国产美女| 国产三级精品三级在专区| 国产a久久精品一区二区三区| 国产SUV精品一区二区四| 欧美日韩精品一区二区在线观看| 精品国产精品国产偷麻豆 | 无码人妻精品一区二区蜜桃网站 | 久久精品国产99国产精品| 人妻少妇精品视频专区| 精品天海翼一区二区| 国产伦精品一区二区三区在线观看| 最新69国产成人精品免费视频动漫| 亚洲精品日韩一区二区小说| 精品国产专区91在线尤物| 999久久久无码国产精品 | 亚洲AV无码精品色午夜果冻不卡| 国精品无码一区二区三区左线| 国产午夜精品一区二区三区嫩草 | 凹凸精品视频分类国产品免费| 日韩精品电影一区| 国产精品天干天干| 午夜精品久久久久久久99| 一色屋精品视频任你曰| 国产成人亚洲精品91专区手机 |