ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° JAVA ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Java, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½ΠΎ Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java (JVM, Java Virtual Machine). ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java — ΡΡΠΎ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° JAVA ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΡΠ·ΡΠΊ Java, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΠ΅ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Ρ. Π΅. ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ — ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΎ ΠΈ ΠΎΠ½, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½: ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π°Π΄ΠΎ Π΅ΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ² Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ — ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Java, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½ΠΎ Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java (JVM, Java Virtual Machine). ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java — ΡΡΠΎ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ΅ΠΊΠΎΠ²Π°Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ JVM ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄Π»ΠΈΠ½Ρ 1 Π±Π°ΠΉΡ, ΠΎΡ ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ JVM Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ (bytecodes), Ρ ΠΎΡΡ ΠΈΠΌΠ΅ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ 2 ΠΈ 3 Π±Π°ΠΉΡΠ°. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΡΠ΅Π΄Π½ΡΡ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 1,8 Π±Π°ΠΉΡΠ°. ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ JVM ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java (VMS, Virtual Machine Specification).
ΠΡΡΠ³Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Java — Π²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ. ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° (dynamic binding). ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ°ΠΊ, Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Java, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ. ΠΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΉΡ-ΠΊΠΎΠ΄Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΈΠΌΠ΅ΡΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ JVM. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²Π°ΠΆΠ΅Π½ Π½ΠΈ ΡΠΈΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π’Π°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Java «Write once, run anywhere» — «ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ» .
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΠ΄Π΅Ρ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΡΡΠΎΡΠΎΠ½Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ (Just-In-Time), Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠ΅ ΡΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΠΊΠ»Π°Ρ . ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. Π€ΠΈΡΠΌΠ° SUN ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ΅Π»ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Hot-Spot ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π΅ Π² ΡΠ²ΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Java. ΠΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ.
Π€ΠΈΡΠΌΠ° SUN Microsystems Π²ΡΠΏΡΡΡΠΈΠ»Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ PicoJava, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ JVM, ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅Π»ΡΡ Π»ΠΈΠ½Π΅ΠΉΠΊΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΡ Java-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΡΡΡ ΡΠΆΠ΅ ΠΈ Java-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠΌ. ΠΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ. ΠΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Java Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ JVM Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° Π·Π½Π°ΡΠΈΡ, Π½ΡΠΆΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ° Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Java, Π° Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ JVM ΡΠ°Π·Π½ΡΡ ΡΠΈΡΠΌ. ΠΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ JVM Π² ΡΠ²ΠΎΠ΅ ΡΠ΄ΡΠΎ. Π‘ΠΎΠ·Π΄Π°Π½Π° ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° JavaOS, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π²ΡΡΡΠΎΠ΅Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ JVM Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠ² Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΠΈΠ· Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΡΡΠΈΡ ΡΡ Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ. ΠΡΠΎΡ Π½Π°Π±ΠΎΡ ΠΎΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Java, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΈΠ·Π±Π΅Π³Π½ΡΠ² ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ «ΡΠΎΠ΄Π½ΡΠΌΠΈ» ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ (native methods). ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ «ΡΠΎΠ΄Π½ΡΡ » ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π€ΠΈΡΠΌΠ° SUN Microsystems — ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java — Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΈ Π±ΠΎΠ³Π°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ JDK (Java Development Kit).
ΠΠ°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² JDK ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ:
- 1. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ javac ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ; ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ java, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ JVM;
- 2. ΠΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ jre (Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ);
- 3. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² appietviewer, Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ;
- 4. ΠΡΠ»Π°Π΄ΡΠΈΠΊ jdb;
- 5. ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ javap;
- 6. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΠΈ ΠΈ ΡΠΆΠ°ΡΠΈΡ jar;
- 7. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ±ΠΎΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ javadoc;
- 8. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ javah Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ·ΡΠΊΠ° Π‘;
- 9. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ javakey Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ;
- 10. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ native2ascii, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅;
- 11. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ rmic ΠΈ rmiregistry Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ;
- 12. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ serialver, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°;
- 13. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ «ΡΠΎΠ΄Π½ΡΡ » ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²;
- 14. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ² Java API (Application Programming Interface).
ΠΡΠΎΠΌΠ΅ JDK, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ SUN ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ Π΅ΡΠ΅ ΠΈ Π½Π°Π±ΠΎΡ JRE (Java Runtime Environment).
ΠΠ°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² JRE ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ java (Π² ΠΏΡΠ΅ΠΆΠ½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ jre) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΎ ΡΠ°ΡΡΡ JDK, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ JRE ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ , ΡΠΌΠ΅ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Java, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .