Heim > Java > javaLernprogramm > Spring-: Classloader-in-Java-VS-Spring

Spring-: Classloader-in-Java-VS-Spring

Barbara Streisand
Freigeben: 2025-01-29 16:12:11
Original
753 Leute haben es durchsucht

spring-: classloader-in-java-vs-spring

Das Konzept des Klassenladers in Java

Der

Klasse Loader

in Java ist Teil der Umgebung der Java -Laufzeit und für das Laden der Klassendynamik in die Java Virtual Machine (JVM) verantwortlich. Die Java -Anwendung verwendet einen Klassenlader, um Klassendateien auf Bedarf zu laden, anstatt alle Klassen während des Starts zu laden. Hauptmerkmale:

Dynamisches Laden

: Die Klasse wird bei der Referenz auf Bedarf geladen.
  1. Das Kommissionsmodell : Nach dem Modell des Vaters werden die Anfragen der Ladungsklasse an den übergeordneten Lader übergeben, bevor sie die lokale Belastung ausprobieren.
  2. Isolierung
  3. : Es hilft, die Klassenisolierung aufrechtzuerhalten, was besonders in komplexen Systemen wie Anwendungsservern nützlich ist.
  4. Art des Klassenloaders:
  5. Der Leitklasse -Loader
  6. :

Laden Sie die Kern -Java -Klasse von ,

und anderen.
  1. Ein Teil von JVM wird auf native Weise implementiert.
    • Erweiterungsload java.lang: java.util
    • Laden Sie die Klasse aus der Java -Erweiterung (
    • ).
  2. Anwendungs-/Systemklassenlader :
      Laden Sie die Klasse aus der Anwendung der Anwendung (
    • Umgebungsvariable). jre/lib/ext
  3. Customized Class Loader
  4. : Benutzer -definierter Klassenlader wird verwendet, um das Standard -Ladeverhalten zu erweitern oder zu ändern.
    • CLASSPATH
    Klassenladermethode:
  5. : Finden Sie eine Klasse mit einem angegebenen Namen.
      : Verwenden Sie das Kommissionsmodell, um die Klasse zu laden.
    • : Das Byte -Array wird in eine Klasseninstanz konvertiert.
hierarchische Struktur der Klassenlader:

  • Der Klassenlader im Frühjahr findClass(String name)
  • im

    Spring Framework

  • ist das Konzept des Klassenladers sehr wichtig, da die Spring -Anwendung die Klasse dynamisch lädt und die Ressourcen während der Laufzeit verwaltet. Der Klassenladermechanismus von Spring und Java integriert sich zur Verbesserung der Klasse und der Ressourcenbelastung. loadClass(String name)
  • Verwendung im Frühjahr:
  • defineClass(byte[] b)
  • geladene Bean und Konfiguration
:

Spring verwendet einen Klassenlader, um die in der Konfigurationsdatei definierte Bean zu laden oder die Annotationsklasse
<code>引导类加载器
       ↑
扩展类加载器
       ↑
应用程序类加载器
       ↑
自定义类加载器(如有)</code>
Nach dem Login kopieren
Nach dem Login kopieren
zu verwenden.

Laden Ressourcen : laden Sie

Spring bietet eine

-Ftraktion zum Laden von Dateien, URL- oder Klassenpfadressourcen. Hinter der Szene verwendet es einen Klassenlader, um Ressourcen zu analysieren.

  1. Beispiel:
    <code>引导类加载器
           ↑
    扩展类加载器
           ↑
    应用程序类加载器
           ↑
    自定义类加载器(如有)</code>
    Nach dem Login kopieren
    Nach dem Login kopieren
    1. heißes Laden :

        Spring Boot Devtools

      • Tools wie benutzerdefinierte Klassenlader laden die Klasse während des Entwicklungsprozesses dynamisch neu.
      Customized Class Loader Szene
    2. :
    3. Wenn die Federanwendung in einem Container oder Mikroservice bereitgestellt wird, werden normalerweise angepasste Klassenlader implementiert, um Abhängigkeiten (z. B. in Tomcat oder Kubernetes) zu isolieren.
      • Aspekt -orientierte Programmierung (AOP)
      :
    4. AOP von
    5. Spring verwendet Proxy -Klassen, die normalerweise dynamisch durch Klassenlader geladen werden.
      • Spring Class Loader Abstraktion:
    Spring

    eingekapselten Klassenlader zur Vereinfachung der Ressourcenbelastung.

      Der Klassenlader wird normalerweise zum Zugriff auf bestimmte Threads verwendet, sodass die Feder nahtlos in die dritte -party -Bibliotheken integriert werden kann.
    • DefaultResourceLoader
    • Häufige Beispiele:
    • ContextClassLoader Verwenden Sie den Klassenloader, um Bean aus der Datei zu laden:

    Java und Federschlüsselunterschiede:

    <code class="language-java">Resource resource = new ClassPathResource("application.properties");</code>
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSpring-: Classloader-in-Java-VS-Spring. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage