Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ JDK, JRE ΠΈ JVM

JAVA DEVELOPMENT KIT

Java Development Kit (JDK) β€” это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² Java. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя срСду выполнСния Java (JRE), ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ / Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ (Java), компилятор (javac), Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ (jar), Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (Javadoc) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java.

JAVA RUNTIME ENVIRONMENT

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ JDK, JRE ΠΈ JVM

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ этими трСмя, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: JDK ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Java.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ JRE ΠΈ JDK?

Из Ρ‡Π΅Π³ΠΎ состоит JRE?
JRE состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ классов Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ классы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Он обСспСчиваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, отдСляя пространства ΠΈΠΌΠ΅Π½ локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΎΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ. Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ с ТСсткого диска, сСти ΠΈΠ»ΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… источников.

JVM пропускаСт ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Byte Code Verifier, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ нСдопустимого ΠΊΠΎΠ΄Π°. НапримСр, Π½Π΅Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ соотвСтствуСт спСцификации JVM ΠΈ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ систСмы.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор

Π’ΠΎ врСмя выполнСния Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ загруТаСтся, провСряСтся ΠΈ запускаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ОбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ°ΠΊ:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ JDK ΠΈ JRE, рассмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ JVM?

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ обсуТдаСмой Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΌΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

68) JDK ΠΏΡ€ΠΎΡ‚ΠΈΠ² JRE ΠΏΡ€ΠΎΡ‚ΠΈΠ² JVM

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JDK?

JDK β€” это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для создания Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Полная Ρ„ΠΎΡ€ΠΌΠ° JDK β€” Java Development Kit. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Java ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Windows, macOS, Solaris ΠΈ Linux. JDK ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java. На ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ вСрсии JDK.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JRE?

JRE β€” это Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, прСдназначСнная для запуска Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Он содСрТит Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов, класс Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ JVM. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° JRE. Если Π²Ρ‹ Π½Π΅ программист, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ JDK, Π° просто JRE для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Java. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, всС вСрсии JDK ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с Java Runtime Environment, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ JRE ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π½Π° вашСм ПК. Полная Ρ„ΠΎΡ€ΠΌΠ° JRE β€” Java Runtime Environment.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JVM?

JVM β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ срСду выполнСния для управлСния Java-ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ прилоТСниями. Он ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. JVM являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Java Run Environment (JRE). Π•Π³ΠΎ нСльзя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JVM, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JRE. Полная Ρ„ΠΎΡ€ΠΌΠ° JVM β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования компилятор создаСт ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы. Однако компилятор Java создаСт ΠΊΠΎΠ΄ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая называСтся JVM.

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JDK?

Π’ΠΎΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ использования JDK:

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JRE?

Π’ΠΎΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ использования JRE:

Why JVM?

Here are the important reasons of using JVM:

Features of JDK

Here are the important features of JDK:

Features of JRE

Here are the important features of JRE:

Features of JVM

Here are the important features of JVM:

How JDK Functions?

Here are the important components of JDK:

Как Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ JRE?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор JRE Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

JRE ΠΈΠΌΠ΅Π΅Ρ‚ экзСмпляр JVM с Π½ΠΈΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ классы ΠΈ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Java, компилятор Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» класса с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

Π’ΠΎΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ JRE:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² JRE.

Как Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ JVM?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ JVM

Π’ΠΎΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ JVM:

1) Класс Loader

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ классов β€” это подсистСма, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² классов. Он выполняСт Ρ‚Ρ€ΠΈ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, связываниС ΠΈ инициализация.

2) ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² JVM Ρ…Ρ€Π°Π½ΠΈΡ‚ структуру класса, Ρ‚Π°ΠΊΡƒΡŽ ​​как ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠ΄ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Java ΠΈ постоянный ΠΏΡƒΠ» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

3) ΠΊΡƒΡ‡Π°

ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, массивы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра хранятся Π² ΠΊΡƒΡ‡Π΅. Π­Ρ‚Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

4) Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ стСки JVM

Π‘Ρ‚Π΅ΠΊΠΈ языка Java хранят Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡ… частичныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный языковой стСк JVM, создаваСмый ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с созданиСм ΠΏΠΎΡ‚ΠΎΠΊΠ°. Новый ΠΊΠ°Π΄Ρ€ создаСтся ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ удаляСтся ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

5) ПК РСгистры

РСгистры ПК хранят адрСс инструкции Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, которая Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполняСтся. Π’ Java ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСгистр ПК.

6) Π‘Ρ‚Π΅ΠΊΠΈ Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Π‘Ρ‚Π΅ΠΊΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² содСрТат ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, зависит ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Он распрСдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎ собствСнным ΠΊΡƒΡ‡Π°ΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ любой Ρ‚ΠΈΠΏ стСка.

7) ИсполнСниС двигатСля

Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, оборудования ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π½Ρ‹Ρ… систСм. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния тСста Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ нСсСт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ тСстируСмом ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅.

8) интСрфСйс Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Native Method прСдставляСт собой срСду программирования. Он позволяСт ΠΊΠΎΠ΄Ρƒ Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² JVM, Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ собствСнными прилоТСниями.

9) Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

БобствСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” это коллСкция БобствСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (C, C ++), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° исполнСния.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ JDK, JRE ΠΈ JVM

Π’ΠΎΡ‚ основныС различия ΠΌΠ΅ΠΆΠ΄Ρƒ JDK ΠΏΡ€ΠΎΡ‚ΠΈΠ² JRE ΠΈ JVM:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JRE ΠΈ JDK

Руководство ΠΏΠΎ пониманию Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JRE ΠΈ JDK Π² Java.

1. ΠžΠ±Π·ΠΎΡ€

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ обсудим различия ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JRE ΠΈ JDK, рассмотрСв ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ использованиС.

2. БПМ

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java (JVM) – это рСализация Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Java.

JVM сначала ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ сохраняСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классС Π² области памяти. НаконСц, ΠΎΠ½ выполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, сгСнСрированный компилятором java.

Π­Ρ‚ΠΎ абстрактная Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ машина со своим собствСнным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ областями памяти Π²ΠΎ врСмя выполнСния.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ JVM ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

2.1. Класс ΠŸΠΎΠ³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ²

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ JVM Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ связываниС Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ классов ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с этими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

2.2. ΠžΠ±Π»Π°ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя выполнСния

JVM опрСдСляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ области памяти для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния ΠΈ извСстны ΠΊΠ°ΠΊ области Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя выполнСния. НСкоторыС ΠΈΠ· этих областСй ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ запускС JVM ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· JVM, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим эти области ΠΎΠ΄Π½Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ:

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° области хранСния скомпилированного ΠΊΠΎΠ΄Π°. Π’ Π½Π΅ΠΌ хранятся Ρ‚Π°ΠΊΠΈΠ΅ структуры, ΠΊΠ°ΠΊ ΠΏΡƒΠ» констант Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ конструкторов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° классов. JVM Ρ…Ρ€Π°Π½ΠΈΡ‚ эту структуру для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ постоянноС пространство Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ (PermGen), создаСтся ΠΏΡ€ΠΈ запускС JVM. ΠŸΠ°ΠΌΡΡ‚ΡŒ для этой области Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ. ВсС ΠΏΠΎΡ‚ΠΎΠΊΠΈ JVM совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти.

JVM выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ для всСх экзСмпляров класса ΠΈ массивов ΠΈΠ· этой области.

Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора (GC) освобоТдаСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΡƒΡ‡ΠΈ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, GC ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ этапа для восстановлСния памяти ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ. Π΄Π²Π° второстСпСнных Π“Πš ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Π“Πš.

ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΊΡƒΡ‡ΠΈ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй:

JVM создаСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΊΡƒΡ‡ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π° запускаСтся. ВсС ΠΏΠΎΡ‚ΠΎΠΊΠΈ JVM Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. ΠŸΠ°ΠΌΡΡ‚ΡŒ для области ΠΊΡƒΡ‡ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ.

Π₯Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, частичныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². JVM создаСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ стСка всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π­Ρ‚Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ являСтся частной для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

КаТдая запись Π² стСкС называСтся ΠΊΠ°Π΄Ρ€ΠΎΠΌ стСка ΠΈΠ»ΠΈ записью Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй:

ΠŸΠ°ΠΌΡΡ‚ΡŒ для стСка JVM Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ JVM ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСгистр ПК, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится адрСс выполняСмой Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ инструкции. Если выполняСмая Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ инструкция являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ собствСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

БобствСнныС стСки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

БобствСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹-это Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написаны Π½Π° языках, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Java.

JVM прСдоставляСт возмоТности для Π²Ρ‹Π·ΠΎΠ²Π° этих собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². БобствСнныС стСки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ извСстны ΠΊΠ°ΠΊ β€œΡΡ‚Π΅ΠΊΠΈ C”. Они хранят ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ собствСнном ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° собствСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ собствСнный стСк ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для отслСТивания ΠΈΡ… состояния.

JVM создаСт эти стСки всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. И, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΊΠΈ JVM Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

2.3. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния выполняСт инструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π² областях памяти. Он состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй:

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ классов Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ выполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ построчно. Π­Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅. НСдостатком ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· трСбуСтся новая интСрпрСтация.

Однако JVM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JIT-компилятор, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΡΠ³Ρ‡ΠΈΡ‚ΡŒ этот нСдостаток.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Just-In-Time (JIT)

JIT-компилятор ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΎ врСмя выполнСния. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java.

JVM автоматичСски отслСТиваСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ становится ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для JIT-компиляции, ΠΎΠ½ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ для компиляции Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‚Π΅ΠΌ извСстСн ΠΊΠ°ΠΊ горячий ΠΌΠ΅Ρ‚ΠΎΠ΄. Π­Ρ‚Π° компиляция Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ происходит Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ JVM.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС компиляции Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС.

Java заботится ΠΎΠ± ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сборки мусора. Π­Ρ‚ΠΎ процСсс просмотра памяти ΠΊΡƒΡ‡ΠΈ, опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ‚, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, удалСния Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

2.4. БобствСнный интСрфСйс Java

Он дСйствуСт ΠΊΠ°ΠΊ интСрфСйс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ Java ΠΈ собствСнными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (C/C++).

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Java сама ΠΏΠΎ сСбС Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ потрСбностям вашСго прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, зависящСй ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ этих случаях ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JNI, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠ΄Π°, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² JVM. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΎΠ½ позволяСт собствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, выполняСмый Π² JVM.

2.5. БобствСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, спСцифичныС для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ ΠΎΠ½ΠΈ содСрТат Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

3. JRE

Π‘Ρ€Π΅Π΄Π° выполнСния Java (JRE) – это Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ JRE Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

ΠœΡ‹ обсуТдали JVM Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ сосрСдоточимся Π½Π° основных классах ΠΈ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

3.1. ΠšΠ»Π°ΡΡΡ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

ΠœΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ классы Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ jre/lib/|/. Π­Ρ‚ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ ΠΏΡƒΡ‚ΡŒ ΠΊ классу Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя:

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… классов Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ эти классы ΠΏΡ€ΠΈ запускС JVM.

3.2. ΠšΠ»Π°ΡΡΡ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

3.3. Настройки свойств

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ свойств для поддСрТания своСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ зависимости ΠΎΡ‚ ΠΈΡ… использования ΠΎΠ½ΠΈ находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ /jre/lib/|/. К Π½ΠΈΠΌ относятся:

3.4. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Помимо Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ классов, JRE Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Ρ„Π°ΠΉΠ»Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… вопросов:

4. JDK

Java Development Kit (JDK) прСдоставляСт срСду ΠΈ инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, компиляции, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ JDK Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

ΠœΡ‹ обсудили JRE Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ сосрСдоточимся Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструмСнтах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ классифицируСм эти инструмСнты Π² зависимости ΠΎΡ‚ ΠΈΡ… использования:

4.1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ инструмСнты

Π­Ρ‚ΠΈ инструмСнты Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ основу JDK ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΈ сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Π‘Ρ€Π΅Π΄ΠΈ этих инструмСнтов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для компиляции, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, архивирования, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Javadoc ΠΈ Ρ‚. Π”.

Они Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

4.2. БрСдства обСспСчСния бСзопасности

К Π½ΠΈΠΌ относятся инструмСнты управлСния ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ сСртификатами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для управлСния Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Java.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Java – это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для сСртификатов Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ сСртификатов ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прилоТСниями Π½Π° Π±Π°Π·Π΅ Java для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ обслуТивания ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTPS.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ бСзопасности Π² нашСй систСмС ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этих ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСдС. К Π½ΠΈΠΌ относятся:

НСкоторыС инструмСнты бСзопасности Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π±ΠΈΠ»Π΅Ρ‚Π°ΠΌΠΈ Kerberos.

Kerberos-это ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» сСтСвой Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° основС Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΡƒΠ·Π»Π°ΠΌ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎ нСбСзопасной сСти, бСзопасно ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ свою Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ:

4.3. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ-это процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ языкам ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌ Π±Π΅Π· тСхничСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Для этой Ρ†Π΅Π»ΠΈ JDK приносит native2ascii. Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» с символами, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ JRE, Π² Ρ„Π°ΠΉΠ»Ρ‹, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² escape-ΠΊΠΎΠ΄Π°Ρ… ASCII ΠΈΠ»ΠΈ Unicode.

4.4. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (RMI)

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ RMI ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ связь ΠΌΠ΅ΠΆΠ΄Ρƒ Java-прилоТСниями, Ρ‚Π΅ΠΌ самым прСдоставляя возмоТности для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

RMI позволяСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ Π² ΠΎΠ΄Π½ΠΎΠΉ JVM, Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ JVM. Π­Ρ‚ΠΈ инструмСнты Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

4.5. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Java IDL ΠΈ RMI-IIOP

Π―Π·Ρ‹ΠΊ опрСдСлСния интСрфСйса Java (IDL) добавляСт Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Java возмоТности ΠΎΠ±Ρ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° запросов Π½Π° основС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (CORBA).

Π­Ρ‚ΠΈ инструмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ распрСдСлСнным Π²Π΅Π± – прилоТСниям Java Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… сСтСвых слуТбах с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ отраслСвой стандартной Π³Ρ€ΡƒΠΏΠΏΡ‹ управлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (OMG) – IDL.

Аналогично, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Internet Inter ORB Protocol (IIOP).

RMI-IIOP, Ρ‚. Π΅. RMI ΠΏΠΎΠ²Π΅Ρ€Ρ… IIOP, позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвСры ΠΈ прилоТСния CORBA Ρ‡Π΅Ρ€Π΅Π· API RMI. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, обСспСчиваСтся соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя прилоТСниями, написанными Π½Π° любом языкС, совмСстимом с CORBA, Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Internet InterORB (IIOP).

Π­Ρ‚ΠΈ инструмСнты Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

4.6. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ развСртывания Java

Π­Ρ‚ΠΈ инструмСнты ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² Java Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Они Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

4.7. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½Π° Java

JDK прСдоставляСт Π½Π°ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ html. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Java.

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΏΠ»Π°Π³ΠΈΠ½ Java устанавливаСт связь ΠΌΠ΅ΠΆΠ΄Ρƒ популярными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Java. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого соСдинСния Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π½Π° Π²Π΅Π±-сайтС ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

4.8. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π²Π΅Π±-запуска Java

JDK приносит javaws. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² сочСтании с Π²Π΅Π±-запуском Java.

Π­Ρ‚ΠΎΡ‚ инструмСнт позволяСт Π½Π°ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Java-прилоТСния ΠΎΠ΄Π½ΠΈΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅Ρ‚ нСобходимости Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ процСсс установки.

4.9. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ управлСния

Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ JVM ΠΈ потрСблСния рСсурсов. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…::

4.10. БрСдства устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Π­Ρ‚ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ :

5. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ основноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JRE ΠΈ JDK Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡ… использовании.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ описали, ΠΊΠ°ΠΊ JVM являСтся абстрактной Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ машиной, которая фактичСски выполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объяснили, ΠΊΠ°ΠΊ просто Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Java-прилоТСния, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ JRE.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ поняли, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Java-прилоТСния, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ JDK.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ инструмСнтов ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JDK, JRE & OpenJDK?

Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ JVM, JDK, JRE & OpenJDK?

я ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π» Π½Π° Java, ΠΈ я столкнулся с этими Ρ„Ρ€Π°Π·Π°ΠΌΠΈ, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ?

18 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

JDK ΠΈ JRE

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ JDK ΠΈ JRE, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ докумСнтация Oracle ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅:

срСда выполнСния Java (JRE)

срСда выполнСния Java (JRE) прСдоставляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для запуска Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° языкС программирования Java. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π²Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ развСртывания ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ JRE: Java Plug-in, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π°ΠΏΠΏΠ»Π΅Ρ‚Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² популярных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…; ΠΈ Java Web Start, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ прилоТСния ΠΏΠΎ сСти. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ основа для Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java 2, Enterprise Edition (J2EE) для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ развСртывания ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. JRE Π½Π΅ содСрТит Ρ‚Π°ΠΊΠΈΡ… инструмСнтов ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΊΠ°ΠΊ компиляторы ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Java Development Kit (JDK)

JDK являСтся надмноТСством JRE ΠΈ содСрТит всС, Ρ‡Ρ‚ΠΎ находится Π² JRE, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ инструмСнты, ΠΊΠ°ΠΊ компиляторы ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Oracle Π½Π΅ СдинствСнный, ΠΊΡ‚ΠΎ прСдоставляСт JDKs.

OpenJDK

Π² OpenJDK являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Java SE 7 JSR с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ (JSR 336). Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Oracle JDK ΠΈ OpenJDK. Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ Oracle приняла это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ : ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ OpenJDK Π² качСствС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ссылки Java SE 7

различия ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² этом Π±Π»ΠΎΠ³ :

Q: Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌ Π² Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ OpenJDK ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для создания Oracle JDK?

Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вСрсии VM ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ:соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Sun / Oracle JDK, OpenJDK ΠΈ HotSpot VM вСрсии

OpenJDK-это конкрСтная рСализация JDK.

ΠΏΠ°ΠΊΠ΅Ρ‚Π° JDK (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java)

Java Developer Kit содСрТит инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java, ΠΈ JRE для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ компилятор (javac.exe), Java application launcher (java.exe), Appletviewer, etc.

компилятор ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Java Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Java application launcher ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ JRE, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ класс ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ основной ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ JDK, Ссли Π²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Для запуска java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ достаточно JRE.

JRE ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния Java-Ρ„Π°ΠΉΠ»ΠΎΠ²

Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ JRE = jvm + java Packages Classes (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, util, math, lang,awt, swing ΠΈ Ρ‚. Π΄.)+Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

JDK Π² основном ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ java. Π’. Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Java (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Java), ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Java ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» java.

JRE (срСда выполнСния Java Π‘Ρ€Π΅Π΄Ρ‹)

срСда выполнСния Java содСрТит JVM, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Он Π½Π΅ содСрТит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ компилятор, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈ Ρ‚. Π΄. На самом Π΄Π΅Π»Π΅ JVM запускаСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, прСдоставлСнныС Π² JRE. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ java, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JRE Π² систСмС

Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java прСдоставляСт нСзависимый ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ способ выполнСния ΠΊΠΎΠ΄Π°; Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ скомпилируйтС ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π½Π° любой машинС ΠΈ запуститС Π΅Π΅ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ(Π½Π° любой машинС).

JVM (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java)

Как ΠΌΡ‹ всС Π·Π½Π°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» Java, Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ являСтся «exe», Π½ΠΎ это».Ρ„Π°ΠΉΠ» класса. β€˜.Ρ„Π°ΠΉΠ» class ‘ состоит ΠΈΠ· Java byte codes, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятны JVM. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² зависимости ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ оборудования. Он ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° всС Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ сбор мусора, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π³Ρ€Π°Π½ΠΈΡ† массива ΠΈ Ρ‚. Π΄. JVM зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

JVM называСтся «Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ прСдоставляСт интСрфСйс ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ зависит ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π­Ρ‚Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы являСтся ΠΊΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ цСнности Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для записи послС запуска.

ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ JVM. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ… областях, Π³Π΄Π΅ спСцификация Java Π½Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСсс сборки мусора, зависит ΠΎΡ‚ JVM, спСцификация Java Π½Π΅ опрСдСляСт ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

Π‘Ρ€Π΅Π΄Π° ВыполнСния Java, Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся ΠΊΠ°ΠΊ Java Π‘Ρ€Π΅Π΄Π° ВыполнСния, Π‘Ρ€Π΅Π΄Π° ВыполнСния

просто:

JDK (Java Development Kit):

JRE (Π‘Ρ€Π΅Π΄Π° ВыполнСния Java)

срСда выполнСния Java содСрТит JVM, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. JRE ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния Ρ„Π°ΠΉΠ»ΠΎΠ² Java.

JVM (Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Машина Java)

Π² JVM ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² зависимости ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ оборудования. Он ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° всС Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ сбор мусора, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π³Ρ€Π°Π½ΠΈΡ† массива ΠΈ Ρ‚. Π΄. Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java прСдоставляСт нСзависимый ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ способ выполнСния ΠΊΠΎΠ΄Π°.

JVM являСтся Π»ΠΈ ΠΊΠΎΠ΄ Java Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ выполняСтся Π½Π°

JRE являСтся Π»ΠΈ срСда (стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ JVM), нСобходимая для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java

JDK являСтся JRE с инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ

OpenJDK являСтся вСрсиСй JDK с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ JDK, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ Oracle

Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ аспСкт, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ:

ΠΏΠ°ΠΊΠ΅Ρ‚Π° JDK (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java)

Он понадобится Π²Π°ΠΌ для Ρ†Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ имя suggest.

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: компания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ установку JDK Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ запуск своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java.

поэтому ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ JDK = JRE + JVM.

JRE (врСмя выполнСния java срСды)

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Ρ‹, Ρ‚ΠΎΠ³Π΄Π° понадобится JRE Π² Π΅Π³ΠΎ систСмС для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java.

JVM (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина java)

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ JDK

ΠΎΠ΄Π½Π°ΠΊΠΎ всС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π²Ρ‹Π²ΠΎΠ΄

Если Π²Ρ‹ программист Java Π²Π°ΠΌ понадобится JDK Π² вашСй систСмС, ΠΈ этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ JRE ΠΈ JVM, Π½ΠΎ Ссли Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡŽΠ±ΠΈΡ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Ρ‹, Π²Π°ΠΌ понадобится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JRE, ΠΈ Π² этом ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ JDK.

Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, JDK-это Π΄Π΅Π΄ΡƒΡˆΠΊΠ°, JRE-ΠΎΡ‚Π΅Ρ†, Π° JVM-ΠΈΡ… сын.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jdk jre jvm ΠΈ компилятор

Java-это язык ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя строгий ΠΈ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ синтаксис, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹.

ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java 2, Standard Edition, Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ J2SE, относится ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ классы Π² java.Lang ΠΈ Java.Ио ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², срСди Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π­Ρ‚ΠΎ Π±Ρ‹Π» ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, построСнных Π½Π°.

Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java, ΠΈΠ»ΠΈ JVM, являСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, которая выполняСт скомпилированный ΠΊΠΎΠ΄ Java. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ скомпилированная Java ΠΊΠΎΠ΄-это просто Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, JVM ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ этого Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ запуском. (Π­Ρ‚ΠΎ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ компилятором Just In Time ΠΈΠ»ΠΈ компилятором JIT.), Π’ΠΎ JVM Ρ‚Π°ΠΊΠΆΠ΅ заботится ΠΎΠ± ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ прилоТСния Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½.

Java Development Kit, ΠΈΠ»ΠΈ JDK, Π±Ρ‹Π» ΠΈ остаСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ компилятор языка Java, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ языком ΠΊΠΎΠ΄ ΠΈ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ) исходный ΠΊΠΎΠ΄ Java для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ классов ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

срСда выполнСния Java, ΠΈΠ»ΠΈ JRE, Π±Ρ‹Π»Π° ΠΈ остаСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ для запуска скомпилированных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JVM, Π½ΠΎ Π½Π΅ содСрТит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² JDK. Однако JDK содСрТит JRE.

JVM: спСцификация, которая описываСт способ / рСсурсы для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ java. ЀактичСски выполняСт Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ java нСзависимой. ΠŸΡ€ΠΈ этом ΠΎΠ½ отличаСтся для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. JVM для windows Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ JVM для UNIX.

JRE: рСализация JVM. (JVM + Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния)

JDK: JRE + Java компилятор ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты для создания java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с нуля

JDK: это инструмСнтарий, содСрТащий Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ выполнСния java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹/прилоТСния

JRE: являСтся срСдой выполнСния для прилоТСния java.ie, ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ врСмя выполнСния зависимости, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ jvm для скомпилированной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ jdk.

JVM: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина java. Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ машинС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ Java. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ JVM ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Он поставляСтся ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

JRE: ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, упомянутый Π²Ρ‹ΡˆΠ΅, являСтся JRE. Π­Ρ‚ΠΎ для JVM+ Π±Π°Π½ΠΎΡ‡ΠΊΠΈ для создания срСды выполнСния environmeny

JVM (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java) являСтся абстрактной машиной. Π­Ρ‚ΠΎ спСцификация, которая прСдоставляСт срСду выполнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ java ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java доступны для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

JRE-это Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° для срСды выполнСния Java.Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обСспСчСния срСды выполнСния.Π­Ρ‚ΠΎ рСализация БПМ.Она физичСски сущСствуСт.Он содСрТит Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ + Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‡Ρ‚ΠΎ JVM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΎ врСмя выполнСния.

JDK являСтся Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ для Java Development Kit.Она физичСски сущСствуСт.Он содСрТит инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JRE+.

JRE выполняСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ JVM Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ инструкции строка Π·Π° строкой, поэтому это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

JDK=JRE + инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

JRE=JVM + классы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

JVM Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java исполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java. Π­Ρ‚ΠΎ Π±Π»ΠΎΠΊ выполнСния Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ JAVA. Он ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

JRE срСда выполнСния Java прСдоставляСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования для выполнСния прилоТСния Java; ΠΎΠ½Π° состоит ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java (JVM), основных классов ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

JDK Java Development Kit, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ всС инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ JRE+JVM

JDK: ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java code

OpenJDK: нСзависимая рСализация JDK для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅

JVM: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Java Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ прСдоставляСт спСцификации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ говорят, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ скомпилирован, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠΎΠ΄ Java.

JRE: рСализация JVM, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *