欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java設計模式--代理模式

 更新時間:2021年07月02日 16:49:00   作者:摸金青年v  
代理就是一個人或者一個機構(gòu)代表另一個人或者另一個機構(gòu)采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之前起到中介的作用

1、代碼設計的代理模式

代理模式屬于構(gòu)建型模式(Proxy),提供了對目標對象的一種訪問方式; 即通過代理對象訪問目標對象。這樣做的好處是:可以在目標對象實現(xiàn)的基礎上,增強額外的功能操作,即擴展目標對象的功能.這里使用到編程中的一個思想:不要隨意去修改別人已經(jīng)寫好的代碼或者方法,如果需改修改,可以通過代理的方式來擴展該方法。

主要思想: 由被代理對象(業(yè)務類)和代理類組成,代理類通常包括日志代理類、權(quán)限代理類。

動態(tài)代理和靜態(tài)代理的區(qū)別:

1、靜態(tài)代理在代理前就知道要代理的是哪個對象,而動態(tài)代理是運行時才知道;

2、靜態(tài)代理一般只能代理一個類,而動態(tài)代理能代理實現(xiàn)了接口的多個類;

JDK與Cglib動態(tài)代理對比:

1、JDK動態(tài)代理只能代理實現(xiàn)了接口的類,沒有實現(xiàn)接口的類不能實現(xiàn)JDK的動態(tài)代理;

2、Cglib動態(tài)代理是針對類實現(xiàn)代理的,運行時動態(tài)生成被代理類的子類攔截父類方法調(diào)用,因此不能代理聲明為final類型的類和方法;

動態(tài)代理主要應用場景:Spring AOP面向切面底層 ——Spring如何選擇兩種代理模式

1、如果目標對象實現(xiàn)了接口,則默認采用JDK動態(tài)代理;

2、如果目標對象沒有實現(xiàn)接口,則使用Cglib代理;

3、如果目標對象實現(xiàn)了接口,但強制使用了Cglib,則使用Cglib進行代理
 

2、計算機網(wǎng)絡中的正向代理和反向代理

正向代理: 需要你主動設置代理服務器ip或者域名進行訪問,由設置的服務器ip或者域名去獲取訪問內(nèi)容并返回;

具體:正向代理 是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(原始服務器),然后代理向原始服務器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

  正向代理的用途:

 ?。?)訪問原來無法訪問的資源,如google

       (2) 可以做緩存,加速訪問資源

 ?。?)對客戶端訪問授權(quán),上網(wǎng)進行認證

 ?。?)代理可以記錄用戶訪問記錄(上網(wǎng)行為管理),對外隱藏用戶信息

 反向代理: 不需要你做任何設置,直接訪問服務器真實ip或者域名,但是服務器內(nèi)部會自動根據(jù)訪問內(nèi)容進行跳轉(zhuǎn)及內(nèi)容返回,你不知道它最終訪問的是哪些機器。反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器,并將從服務器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一個服務器。

反向代理的作用:

(1)保證內(nèi)網(wǎng)的安全,可以使用反向代理提供WAF功能,阻止web攻擊。大型網(wǎng)站,通常將反向代理作為公網(wǎng)訪問地址,Web服務器是內(nèi)網(wǎng)。

 (2)負載均衡,通過反向代理服務器來優(yōu)化網(wǎng)站的負載

 nginx反向代理

 nginx支持配置反向代理,通過反向代理實現(xiàn)網(wǎng)站的負載均衡。拿出一個nginx服務器做反向代理,其他nginx依然是服務器。nginx反向代理可以解決跨域的問題!

正向代理是代理客戶端,為客戶端收發(fā)請求,使真實客戶端對服務器不可見
反向代理是代理服務器端,為服務器收發(fā)請求,使真實服務器對客戶端不可見

總結(jié)

本篇文章就到這里了,希望可以給你帶來一些幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • Eclipse中maven異常Updating Maven Project的統(tǒng)一解決方案

    Eclipse中maven異常Updating Maven Project的統(tǒng)一解決方案

    今天小編就為大家分享一篇關于Eclipse中maven異常Updating Maven Project的統(tǒng)一解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java8排序stream.sorted()的使用

    Java8排序stream.sorted()的使用

    這篇文章主要介紹了Java8排序stream.sorted()的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java Web導出等比例圖片到Excel的實現(xiàn)過程

    Java Web導出等比例圖片到Excel的實現(xiàn)過程

    我們使用Java導出圖片到Excel,打開成功導出的Excel一看,商品對應的圖片都很規(guī)矩的按照我的設置鋪滿了整個單元格,但是,商品圖片卻都變形了,這樣肯定是不行的,于是第一反應就是將圖片等比例導出,所以本文本給大家介紹了如何使用Java Web導出等比例圖片到Excel
    2023-11-11
  • java 頁面url傳值中文亂碼的解決方法

    java 頁面url傳值中文亂碼的解決方法

    本節(jié)講的是ajax 的URL參數(shù)中有中文值,傳到服務端,在用request.getParameter()方法,得到的常常會是亂碼。
    2013-03-03
  • Javaweb應用使用限流處理大量的并發(fā)請求詳解

    Javaweb應用使用限流處理大量的并發(fā)請求詳解

    這篇文章主要介紹了Javaweb應用使用限流處理大量的并發(fā)請求詳解,還是挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Spring中filter過濾器的定義方法

    Spring中filter過濾器的定義方法

    這篇文章主要介紹了Spring中filter過濾器的定義方法,Filter 程序是一個實現(xiàn)了特殊接口的 Java 類,與 Servlet 類似,也是由 Servlet 容器進行調(diào)用和執(zhí)行的,需要的朋友可以參考下
    2023-08-08
  • java8列表中通過stream流根據(jù)對象屬性去重的三種方式

    java8列表中通過stream流根據(jù)對象屬性去重的三種方式

    這篇文章主要介紹了java8列表中通過stream流根據(jù)對象屬性去重的三種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 將SpringBoot的Jar注冊成Windows服務的實現(xiàn)方法

    將SpringBoot的Jar注冊成Windows服務的實現(xiàn)方法

    當前項目有個地圖編輯器,后端用的是SpringBoot框架,外網(wǎng)剛好有一臺空閑的Windows服務器就直接拿來用了,將Java程序部署成Windows服務可以用WinSW (Windows Service Wrapper)來實現(xiàn),文中有詳細的操作步驟,需要的朋友可以參考下
    2023-11-11
  • spring boot加入攔截器Interceptor過程解析

    spring boot加入攔截器Interceptor過程解析

    這篇文章主要介紹了spring boot加入攔截器Interceptor過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java,JSP,Servlet獲取當前工程路徑(絕對路徑)問題解析

    Java,JSP,Servlet獲取當前工程路徑(絕對路徑)問題解析

    這篇文章主要介紹了Java,JSP,Servlet獲取當前工程路徑(絕對路徑)問題解析,需要的朋友可以參考下。
    2017-09-09

最新評論