ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина 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, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ… управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ