Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ 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 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Java.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ JRE ΠΈ JDK?
ΠΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ JRE?
JRE ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΎΡΠ΄Π΅Π»ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ. ΠΡΠΈ ΡΠ°ΠΉΠ»Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π»ΠΈΠ±ΠΎ Ρ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°, ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ².
JVM ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Byte Code Verifier, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ β ΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ JVM ΠΈ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠ°ΠΉΡ-ΠΊΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΠ±Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠ°ΠΊ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ JDK ΠΈ JRE, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ 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?
JRE Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ
JRE ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ JVM Ρ Π½ΠΈΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Java, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΊΠ»Π°ΡΡΠ° Ρ Π±Π°ΠΉΡΠΎΠ²ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΎΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ JRE:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² 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-ΠΈΡ ΡΡΠ½.
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 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ