最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java代理 jdk動(dòng)態(tài)代理應(yīng)用案列

 更新時(shí)間:2012年11月28日 10:16:14   作者:  
java代理有jdk動(dòng)態(tài)代理、cglib代理,這里只說下jdk動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理主要使用的是java反射機(jī)制,需要了解的朋友可以參考下
java代理有jdk動(dòng)態(tài)代理、cglib代理,這里只說下jdk動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理主要使用的是java反射機(jī)制(既java.lang.reflect包)
原理是(歌手、經(jīng)紀(jì)人做例子):
建立一個(gè)公共的接口,比如:歌手public interface Singer;
用具體的類實(shí)現(xiàn)接口,比如:周杰倫,他是歌手所以實(shí)現(xiàn)Singer這個(gè)類,class MySinger implements Singer
建立代理類,這里也就是經(jīng)紀(jì)人,他需要實(shí)現(xiàn)InvocationHandler類,并重寫invoke方法
這樣當(dāng)有什么事情,要找周杰倫(具體類)的時(shí)候,就必須先到經(jīng)紀(jì)人(代理類)那里處理,代理人在決定要不要與你見面(該方法要不要執(zhí)行)
1、歌手接口
復(fù)制代碼 代碼如下:

public interface Singer {

public abstract void sing();

public abstract String s();
}

2、具體的歌手
復(fù)制代碼 代碼如下:

public class MySinger implements Singer {
public void sing() {
// TODO Auto-generated method stub
System.err.println("唱歌。。。。");
}
}

3、代理類(經(jīng)紀(jì)人)
復(fù)制代碼 代碼如下:

public class agent implements InvocationHandler{
public Object target;

//綁定
public Object bind(Object target){
this.target=target;
//必須放回Proxy
return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this);
}

//重新
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object o =null;
System.out.println("開始事務(wù)");
System.out.println("判斷權(quán)限");

o = method.invoke(target, args);//執(zhí)行方法

System.out.println("結(jié)束事務(wù)");
return o;
}
}

4、測試(為什么要間接口能,下面你會(huì)發(fā)現(xiàn)代理返回的是他們的接口類,這要一個(gè)代理類,就可以代理多個(gè)類,只要該類是同個(gè)一個(gè)接口的是實(shí)現(xiàn))
復(fù)制代碼 代碼如下:

public class Test {
public static void main(String[] args) {
//
agent a =new agent();
Singer s= (Singer) a.bind(new MySinger());
s.sing();
}
}

相關(guān)文章

  • jvm oom排查記錄剖析

    jvm oom排查記錄剖析

    這篇文章主要為大家介紹了jvm oom排查記錄剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • java同步鎖的正確使用方法(必看篇)

    java同步鎖的正確使用方法(必看篇)

    下面小編就為大家?guī)硪黄猨ava同步鎖的正確使用方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java中的CompletableFuture原理與用法

    Java中的CompletableFuture原理與用法

    CompletableFuture 是由Java8引入的,這讓我們編寫清晰可讀的異步代碼變得更加容易,該類功能比Future 更加強(qiáng)大,在Java中CompletableFuture用于異步編程,異步通常意味著非阻塞,運(yùn)行任務(wù)單獨(dú)的線程,與主線程隔離,這篇文章介紹CompletableFuture原理與用法,一起看看吧
    2024-01-01
  • 詳解Java 連接MongoDB集群的幾種方式

    詳解Java 連接MongoDB集群的幾種方式

    這篇文章主要介紹了詳解Java 連接MongoDB集群的幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • SpringMVC 中HttpMessageConverter簡介和Http請求415 的問題

    SpringMVC 中HttpMessageConverter簡介和Http請求415 的問題

    本文介紹且記錄如何解決在SpringMVC 中遇到415 Unsupported Media Type 的問題,并且順便介紹Spring MVC的HTTP請求信息轉(zhuǎn)換器HttpMessageConverter
    2016-07-07
  • Netty 輕松實(shí)現(xiàn)文件上傳功能

    Netty 輕松實(shí)現(xiàn)文件上傳功能

    今天我們來完成一個(gè)使用netty進(jìn)行文件傳輸?shù)娜蝿?wù)。在實(shí)際項(xiàng)目中,文件傳輸通常采用FTP或者HTTP附件的方式,對(duì)Netty 文件上傳功能感興趣的朋友一起看看吧
    2021-07-07
  • mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理及源碼

    mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理及源碼

    Mybatis-Plus是一個(gè)Mybatis的增強(qiáng)工具,它在Mybatis的基礎(chǔ)上做了增強(qiáng),卻不做改變,Mybatis-Plus是為簡化開發(fā)、提高開發(fā)效率而生,但它也提供了一些很有意思的插件,比如SQL性能監(jiān)控、樂觀鎖、執(zhí)行分析等,下面一起看看mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理解析
    2021-06-06
  • java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案

    java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案

    本文介紹了java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/ide/critical-startup-errors解決辦法

    IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/i

    這篇文章主要介紹了IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/ide/critical-startup-errors解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • java IP地址網(wǎng)段計(jì)算的示例代碼

    java IP地址網(wǎng)段計(jì)算的示例代碼

    這篇文章主要介紹了java IP地址網(wǎng)段計(jì)算的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

嘉义县| 博客| 巴彦县| 闻喜县| 十堰市| 施甸县| 库尔勒市| 临沧市| 海兴县| 武宁县| 麦盖提县| 收藏| 竹北市| 保靖县| 揭阳市| 绥德县| 米易县| 林芝县| 江永县| 巢湖市| 上饶县| 郎溪县| 巴彦淖尔市| 华蓥市| 郧西县| 望江县| 唐海县| 普安县| 沁水县| 民乐县| 新兴县| 于都县| 营口市| 平昌县| 博兴县| 建平县| 噶尔县| 炉霍县| 土默特左旗| 富蕴县| 安乡县|