-
@設計模式---代理模式簡介與分類
代理模式:
????為其他對象提供一種代理以控制對這個對象的訪問。代理對象起到中介作用,可去掉功能服務或增加額外的服務。代理模式的分類:
????1.遠程代理模式:為不同地理的對象提供局域網代表對象(監控各個店鋪)
? ? 2.虛擬代理:根據需要將資源消耗很大的對象進行延遲,真正需要的時候進行創建(圖片的延時加載)
? ? 3.保護代理:控制用戶的訪問權限(網站頁面的訪問權限)
? ? 4.智能引用代理:提供對目標對象提供額外的服務(火車票代售處)查看全部 -
@設計模式---代理模式之 聚合方式做代理模式
1.聚合代理優于繼承代理。在實現功能疊加的情況下,聚合代理通過相互代理可以實現功能重用,而繼承代理必須寫多個類來實現多功能疊加。
2.但靜態代理只能代理一種類型的被代理類,換個類型的就不行了,這需要動態代理
查看全部 -
@設計模式---代理模式之 靜態代理
靜態代理:代理和被代理對象在【代理之前】都是【確定】的。他們都實現【相同的接口或者繼承相同的抽象類】
代理實現方法:
????1.繼承法:代理類直接【繼承】被代理類,實現其原有方法,并添加一些額外功能
????2.聚合方法:代理類實現【相同的功能接口:很重要,事項相同接口,不同代理也可以進行相互代理】,并在內聲明一個被代理類的對象(類似封裝),通過內部對象實現其原有方法,并添加額外功能查看全部 -
@設計模式---代理模式簡介與分類
代理模式:
????為其他對象提供一種代理以控制對這個對象的訪問。代理對象起到中介作用,可去掉功能服務或增加額外的服務。代理模式的分類:
????1.遠程代理模式:為不同地理的對象提供局域網代表對象(監控各個店鋪)
? ? 2.虛擬代理:根據需要將資源消耗很大的對象進行延遲,真正需要的時候進行創建(圖片的延時加載)
? ? 3.保護代理:控制用戶的訪問權限(網站頁面的訪問權限)
? ? 4.智能引用代理:提供對目標對象提供額外的服務(火車票代售處)查看全部 -
Proxy.newInstance(ClassLoader c,Class claz,InvocationHandler h),它是根據出入的claz被代理類或接口,通過反射以及字符串操作,拼接了一個實現被代理接口或繼承被代理類的一個代理類的字符串,這個代理類中包含了與被代理類公有方法名一樣的方法,同時在這些方法中都是調用的h處理類中的invoke方法,這樣就達到了,實際調用被代理方法前做預處理工作。
InvocationHandler中invoke(Object 代理對象,Method 被代理對象最終要執行的方法,Object[] 方法所需參數)可以在最終方法執行前做一些方法前的預處理工作,如果在被代理類的方法執行前有多個InvocationHandler需要執行處理,那就在invoke方法中對InvocationHandler中的被代理對象做判斷,如果被代理對象是InvocationHandler則繼續執行invoke方法(類似攔截器原理),否則通過反射執行最終的被代理類的實現方法
查看全部 -
查看全部
-
查看全部
-
本節知識點:
獲取當前文件路徑的方法:System.getProperty("user.dir")
獲取當前系統時間的方法:System.currentTimeMillis();
Navigate 視圖的使用。
jre 和 jdk 環境的裝換。
commons-io ?FileUtils 的使用
快捷鍵 ctrl + shift + o 調整文件縮進
查看全部 -
實戰報錯:
原因如下:導入包不全
報錯分析:
NoClassDefFoundError發生在JVM在動態運行時,根據你提供的類名,在classpath中找到對應的類進行加載,但當它找不到這個類時,就發生了java.lang.NoClassDefFoundError的錯誤,而ClassNotFoundException是在編譯的時候在classpath中找不到對應的類而發生的錯誤
查看全部 -
查看全部
-
查看全部
-
查看全部
-
查看全部
-
查看全部
-
查看全部
舉報