<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 在线播放亚洲精品| 久久久久人妻一区精品| 麻豆人妻少妇精品无码专区| 中文字幕在线精品视频入口一区| 91亚洲精品视频| 精品人妻中文无码AV在线| 亚洲午夜国产精品无卡| 成人午夜精品网站在线观看 | 91精品久久久久久久久久 | 精品乱子伦一区二区三区| 69国产成人精品午夜福中文| 亚洲国产av无码精品| 精品国产一区二区三区免费看| 亚洲第一极品精品无码久久| 最新69国产成人精品免费视频动漫| 国产精品内射后入合集| 国产精品素人福利| 人妻少妇看A偷人无码精品| 欧洲精品无码一区二区三区在线播放| 国产精品久久久香蕉| 亚洲高清国产拍精品26U| 水蜜桃精品一二三| 久久久久久久久久免免费精品| selao久久国产精品| 国产精品一区二区久久乐下载| 亚洲精品自拍视频| 久久久精品2019免费观看| 精品国产人成亚洲区| 乱人伦精品视频在线观看| 免费视频精品一区二区| 国产精品亚洲专一区二区三区| 78成人精品电影在线播放 | 国产精品亚洲综合一区在线观看| 久久久精品天堂无码中文字幕| 性虎精品无码AV导航| 91精品福利一区二区三区野战| 久久99久久99精品| 国产在线无码精品电影网| 四虎国产精品免费永久在线| 在线涩涩免费观看国产精品| 亚洲人精品午夜射精日韩|