Java Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° | Spring Boot Backend & Architecture. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΠΆΠ°Π²Π° Π΄Π»Ρ Developer. IT Π‘ΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Coding Π·Π°Π΄Π°ΡΠΈ. Π£ΡΠΎΠΊΠΈ ΠΈ ΠΊΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ° Π² Tech.
ΠΠ°ΡΠΊΠ° Β· 26 ΠΈΡΠ½Ρ 2026 Π³.
π― ΠΠ°ΠΊ Java Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡΡ? ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ClassLoader'ΠΎΠ²
π― ΠΠ°ΠΊ Java Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡΡ? ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ClassLoader'ΠΎΠ² Π‘Π΅ΡΠ°Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΠΌΡΡ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ΅ΠΌ Π² ΠΌΠΈΡΠ΅ Java β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Β«Π²ΠΈΠ΄ΠΈΡΒ» Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ²: 1. Bootstrap ClassLoader Π‘Π°ΠΌΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ. ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· JDK (rt.jar, java.base, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅). ΠΠ° Π½Π΅Π³ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π² ΠΊΠΎΠ΄Π΅. 2. Platform ClassLoader (ΡΠ°Π½Π΅Π΅ Extension) ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (jmods), Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ· JDK, Π½ΠΎ Π½Π΅ ΠΈΠ· java.base. 3. Application ClassLoader Π’Π²ΠΎΠΉ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ· classpath (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, target/classes ΠΈ lib/*.jar). ΠΠΎ Π²ΠΎΡ Π³Π΄Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΌΠ°Π³ΠΈΡ β ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ClassLoader ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ², ΠΠ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ClassLoader customLoader = new URLClassLoader(new URL[]{new File("plugins/").toURI().toURL()}); Class<?> pluginClass = customLoader.loadClass("com.example.PluginImpl"); π‘ ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IntelliJ, Jenkins, Minecraft). ΠΠΎ Π±ΡΠ΄Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ΅Π½ β Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ClassCastException, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠ»Π°ΡΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. π @BookJava
ΠΠ°Π½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΠ°ΠΊΡΠΈΠΌΠ΅ΡΠ΅ΡΠ°
1Β 609 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β· ΠΠ°ΡΠΊΠ°