10.Java-Grundlagen – Agent
Feb 27, 2017 am 10:41 AMGrundkonzepte
Proxy bedeutet in Java: Bereitstellung eines Proxy-Objekts für ein Objekt, und der Proxy Das Objekt steuert den Zugriff zum Originalobjekt, das heißt, der Client steuert das Originalobjekt nicht direkt, sondern steuert das Originalobjekt indirekt über das Proxy-Objekt.
Für Laien ist es so, als würde man eine Fahrkarte kaufen. Ursprünglich brauchten wir einen Bahnhof, um eine Fahrkarte zu kaufen, aber jetzt haben wir Fahrkartenverkaufsstellen eingerichtet, und Sie können Fahrkarten direkt über die Fahrkartenverkaufsstellen kaufen.
Die Arten von Agenten sind:
Die Implementierung von Agenten kann in statische Agenten und dynamische Agenten unterteilt werden;
Dynamische Agenten werden auch in dynamische JDK-Proxys und dynamische CLGIB-Proxys unterteilt.
Statischer Proxy
In einem statischen Proxy kann jede Proxy-Klasse nur eine Schnittstelle bedienen.
Die Nachteile dieses Ansatzes liegen auf der Hand:
Zu viele Proxys generieren. Weil mehrere Schnittstellen mehrere Proxy-Klassen erfordern.
Code-Redundanz. Alle Proxy-Operationen sind bis auf die von ihnen aufgerufene Methode gleich.
Sehen wir uns das Beispiel eines statischen Proxys an:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Dynamischer Proxy
Dynamischer Proxy kann Lösen Sie das Problem. Der Nachteil des statischen Proxys besteht darin, dass er alle Proxy-Funktionen über eine Proxy-Klasse ausführen kann.
Dynamische Proxys werden in dynamische JDK-Proxys und dynamische CLGIB-Proxys unterteilt.
DKs dynamischer Proxy basiert auf der Schnittstelle, und der dynamische CLGIB-Proxy gleicht dieses Manko einfach aus.
1. Dynamischer JDK-Proxy
Der dynamische JDK-Proxy basiert auf der Schnittstellenimplementierung. Wenn einige Klassen die Schnittstelle nicht implementieren, können Sie den JDK-Proxy nicht verwenden.
Sehen wir uns das Beispiel an:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
2.CLGIB dynamischer Proxy
clgib implementiert Proxy für Klassen, das Prinzip ist um eine Unterklasse für die angegebene Zielklasse zu generieren und die Methode zu überschreiben, um eine Verbesserung zu erreichen.
Da Vererbung verwendet wird, können endgültig geänderte Klassen nicht als Proxy verwendet werden.
Schauen wir uns das Beispiel an:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Das Obige ist der Inhalt von 10.Java Basics - Proxy. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (. www.php.cn)!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Brechen oder aus Java 8 Stream foreach zurückkehren?
