Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Java-машина. КакиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java? ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java

Π―Π·Ρ‹ΠΊ программирования Java ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π°Ρ Π΅Π³ΠΎ систСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈ скомпилированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ»ΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π° любой машинС, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Java. Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ стала Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java с самого Π½Π°Ρ‡Π°Π»Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Ρ€Π°Π±ΠΎΡ‚Π° этой систСмы бСзопасности.

Java являСтся языком, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ компилятор ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°ΠΊΠΈΠΌ



мСстим с Π΅Π΅ Ρ‚ΠΈΠΏΠΎΠΌ. Для сравнСния рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ

Он Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайноС число ΠΈ сохраняСт Π΅Π³ΠΎ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ Ρ€. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ сохраняСт Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π±Π°ΠΉΡ‚ ΠΏΠΎ адрСсу, содСрТащСмуся Π² Ρ€, пСрСписывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΌ Π΄ΠΎ этого, - ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅. Π’ Java конструкции, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ самой Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Java Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, привидСния Ρ‚ΠΈΠΏΠΎΠ², распрСдСлСния памяти, управляСмого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ malloc ΠΈ free), Π° всС ссылки Π½Π° массивы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π² Ρ…ΠΎΠ΄Π΅ выполнСния.

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

ΠŸΡ€ΠΈ поступлСнии Π°ΠΏΠΏΠ»Π΅Ρ‚Π° ΠΎΠ½ попускаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° JVM Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ соотвСтствия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°ΠΏΠΏΠ»Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌ автоматичСски, Π½ΠΎ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ JVM-Π°ΠΏΠΏΠ»Π΅Ρ‚ Π½Π° языкС ассСмблСра JVM. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя поиск ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы:

1. НС пытаСтся Π»ΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ?

2. НС Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ ограничСния доступа ΠΊ элСмСнтам Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… классов?

3. НС пытаСтся Π»ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°?

4. НС Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π΅Π³ΠΎ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹?

5. НС ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ нСдопустимыС прСобразования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°?

Если Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ всС эти тСсты, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π±Π΅Π· опасСний, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΊ своим областям памяти.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ всС ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π·Π° счСт Π²Ρ‹Π·ΠΎΠ²Π° Java- ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€), прСдоставляСмых для этих Ρ†Π΅Π»Π΅ΠΉ. Бпособы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались для этого Π² Java, всС врСмя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈΡΡŒ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Java, JDK (Java Development Kit - инструмСнтарий Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°) 1.0, Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΠ»ΠΈΡΡŒ Π½Π° Π΄Π²Π° класса: Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅. АпплСты, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ с локального диска, Π±Ρ‹Π»ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ любой Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΈΠΌ систСмный Π²Ρ‹Π·ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ… Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΡΡ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ. Они Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ Π² пСсочницС, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 9.33, ΠΈ ΠΈΠΌ практичСски Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠΠ°Π±Ρ€Π°Π²ΡˆΠΈΡΡŒ ΠΎΠΏΡ‹Ρ‚Π° использования этой ΠΌΠΎΠ΄Π΅Π»ΠΈ, компания Sun Ρ€Π΅ΡˆΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ слишком ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. Π’ JDK 1.1 Π±Ρ‹Π»Π° задСйствована цифровая подпись ΠΊΠΎΠ΄Π°. Когда Π°ΠΏΠΏΠ»Π΅Ρ‚ поступал ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π±Ρ‹Π» ΠΎΠ½ подписан Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ довСряСт (Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ»ΠΎΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ списком Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй). Если подписи ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΌΠΎΠ³ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Ссли Π½Π΅Ρ‚, - ΠΎΠ½ запускался Π² пСсочницС со строгими ограничСниями.

ПослС приобрСтСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° эта систСма Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ·Π½Π°Π½Π° Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, поэтому модСль бСзопасности ΠΎΠΏΡΡ‚ΡŒ ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»Π° измСнСния. Π’ JDK 1.2 Π±Ρ‹Π»Π° прСдставлСна конфигурируСмая, Ρ‚ΠΎΠ½ΠΊΠΎ настраиваСмая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности, примСняСмая ΠΊΠΎ всСм Π°ΠΏΠΏΠ»Π΅Ρ‚Π°ΠΌ, ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ. Π­Ρ‚Π° модСль бСзопасности Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТна, Ρ‡Ρ‚ΠΎ Π΅Π΅ описанию слСдуСт ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ (Gong, 1999), поэтому ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ лишь ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅Π΅ основных особСнностСй. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π°ΠΏΠΏΠ»Π΅Ρ‚ характСризуСтся двумя Π²Π΅Ρ‰Π°ΠΌΠΈ: Ρ‚Π΅ΠΌ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ ΠΏΡ€ΠΈΠ±Ρ‹Π» ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ подписал. На вопрос, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ ΠΏΡ€ΠΈΠ±Ρ‹Π», ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ URL, Π° Π½Π° вопрос, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ подписал, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» использован для Π΅Π³ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ бСзопасности, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· пСрСчня ΠΏΡ€Π°Π²ΠΈΠ». Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ URL, Π²Π»Π°Π΄Π΅Π»Π΅Ρ† подписи, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ссли URL Π°ΠΏΠΏΠ»Π΅Ρ‚Π°

ΠΈ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† подписи совпадут с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π΅. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ прСдоставляСмая информация ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² Ρ‚Π°Π±Π». 9.3, хотя Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов Java.


Один Π²ΠΈΠ΄ дСйствий Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. ДСйствиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π½Π°Π±ΠΎΡ€ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², рСкурсивно содСрТащихся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’Ρ€ΠΈ строки Π² Ρ‚Π°Π±Π». 9.3 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ этим Ρ‚Ρ€Π΅ΠΌ случаям. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ БьюзСн установила свою запись ΠΏΡ€Π°Π² доступа Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π΅Π΅ Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, которая называСтся www.taxprep.com, ΠΈ подписанныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ- ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‚ доступ для чтСния ΠΊ Π΅Π΅ Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ„Π°ΠΉΠ»Π΅ 1040.xls. Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, всС Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ ΠΈΠ· всСх источников нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, подписаны ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΌΠΎΠ³ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/tmp.

Π”Π°Π»Π΅Π΅, БьюзСн довСряСт ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π°ΠΏΠΏΠ»Π΅Ρ‚Π°ΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΌ с Π΅Π΅ сайта ΠΈ подписанным этой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, находящихся Π½ΠΈΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Office Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для устранСния Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΈ установки Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подписСй БьюзСн Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π° своСм дискС, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΡ… Π² динамичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π²ΠΈΠ΄Π΅ сСртификата, подписанного ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° довСряСт ΠΈ Ρ‡Π΅ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρƒ Π½Π΅Π΅ имССтся.

Π’ качСствС Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌΡ‹Ρ… рСсурсов ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»Ρ‹. МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ доступ ΠΊ сСти. Π—Π΄Π΅ΡΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IP-адрСса ΠΈΠ»ΠΈ DNS-ΠΈΠΌΠ΅Π½ΠΈ; ΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π° этом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ чисСл. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ дСйствия Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, исходящих ΠΎΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ сСти, Π½ΠΎ этот доступ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ пСрСчислСны Π² спискС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. АпплСты ΠΌΠΎΠ³ΡƒΡ‚ Π² случаС нСобходимости динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (классы), Π½ΠΎ прСдоставляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ классов ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ строгий ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ источниками этих классов. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств бСзопасности.

Π•Ρ‰Π΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² систСмС Java:

  1. Β§ 39 ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ…. – Римская классификация. – БистСма прусского Π·Π°ΠΊΠΎΠ½Π°, французского ΠΈ австрийского кодСкса. – БистСма русского свода. – БистСма настоящСго излоТСния.

Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» состоит ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ частСй. ΠžΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ вопросы бСзопасности распрСдСлСнных вычислСний Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ рассматриваСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹, связанная с исполняСмым ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΡˆΠ΅ΡΡ‚ΡŒ этапов для построСния работоспособного ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° бСзопасности. Π’Π°ΠΊΠΆΠ΅ рассматриваСтся рСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ языка Java. Как ΠΈ Π²ΠΎ всякой Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ бСзопасности Π² Java ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ обсуТдаСмыС Π² Π‘Π΅Ρ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ….

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ анализируСтся концСпция бСзопасности Π² ΠΎΠ±Ρ‰Π΅ΠΌ контСкстС взаимодСйствия Π² сСти Web ΠΈ рСализация Π·Π°Ρ‰ΠΈΡ‚Ρ‹ посрСдством исполняСмого ΠΊΠΎΠ΄Π°.

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим Π΄Π²ΠΎΠΉΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ вопроса бСзопасности Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ сСти Web ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡŽ сСти Web ΠΊΠ°ΠΊ срСды Π² контСкстС этой двойствСнности. Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² контСкстС исполняСмого ΠΊΠΎΠ΄Π°.

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

Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшнюю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΡ‚ рСсурсов ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π½Π΅Ρ‚. Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ случаС исполняСмый ΠΊΠΎΠ΄ Π½Π΅ смог Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈ эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° ΡˆΠ΅ΡΡ‚ΡŒ этапов:

1. ΠŸΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасныС дСйствия ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ вторТСния.

2. БвСсти Π»ΡŽΠ±Ρ‹Π΅ опасныС дСйствия ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

3. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСду программирования ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ язык, явно Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ опасных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π»ΡŽΠ±Ρ‹Π΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Π΅ дСйствия.

4. Π”ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ логичСски ΠΈΠ»ΠΈ, Ссли Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ язык ΠΈ срСда Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ вторТСния.

5. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ исполняСмым ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этим ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ бСзопасным языком.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ внСшнСй Π°Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ (список Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ):

Β· ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ/ΠΈΠ»ΠΈ состояния выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· Π‘Π±ΠΎΡ€ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

Β· Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСсурсов, вслСдствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ становятся нСдоступными для Π·Π°ΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· Π—Π°Ρ…Π²Π°Ρ‚ рСсурсов ΠΈ ΠΈΡ… использованиС внСшнСй Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ;

Β· Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ситуаций, ΡΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, особСнно Π² устройствах Π²Ρ‹Π²ΠΎΠ΄Π°;

Β· ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа ΠΈ использованиС ΠΈΡ… ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для вторТСния Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты сСти.

Π’ Ρ‚Π°Π±Π». 1.1 пСрСчислСны ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ уязвимыС рСсурсы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹ воздСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π½ΠΈΠΌ. Π’ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ стратСгии Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ рСсурсу назначаСтся коэффициСнт риска ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа ΠΊ Π½ΠΈΠΌ со стороны Π²Π½Π΅ΡˆΠ½ΠΈΡ… исполняСмых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’Π°Π±Π»ΠΈΡ†Π°1.1 ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ уязвимыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ‚ΠΈΠΏΡ‹ воздСйствиС

ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°/ ИзмСнСниС ΠΏΡ€Π°Π²

Π—Π°Ρ…Π²Π°Ρ‚ рСсурса

ΠΠ΅Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ

Π—Π°Ρ…Π²Π°Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ

Ѐайловая систСма

ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°/ ИзмСнСниС ΠΏΡ€Π°Π²

Π—Π°Ρ…Π²Π°Ρ‚ рСсурса

ΠΠ΅Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ

Π—Π°Ρ…Π²Π°Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ

ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ информация

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ

процСссор

Устройства Π²Ρ‹Π²ΠΎΠ΄Π°

Устройства Π²Π²ΠΎΠ΄Π°

ОБ, состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

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

Говоря ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, схСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ языка Java рассматриваСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ уязвимыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:

Β· ΠŸΠ°ΠΌΡΡ‚ΡŒ;

Β· ОБ/состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· Ѐайловая систСма ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°;

Β· ΠŸΡ€ΠΈ этом ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π², пСрСчислСнныС Π² Ρ‚Π°Π±Π». 1.1;

Β· ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² клиСнтской машинС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ вызываСтся вирусами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ сСбя Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ события ΠΈΠ»ΠΈ ΠΏΠΎ достиТСнии Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π°Ρ‚Ρ‹;

Β· Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² пользования рСсурсами клиСнтской ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ вызываСтся вирусами;

Β· ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² клиСнтской машинС. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π»Π΅Π³ΠΊΠΎ выполняСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ UNIX SENDMAIL;

Β· Π—Π°Ρ…Π²Π°Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ клиСнтской ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ДостигаСтся ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΎΠΉ IP- адрСсов. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ‚Π°ΠΊΠΈ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ КСвином ΠœΠΈΡ‚Π½ΠΈ- ΠΊΠΎΠΌ (Kevin Mitnick), ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ "Π²Π·Π»ΠΎΠΌΠ°Π»" ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² экспСрта ΠΏΠΎ систСмам Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π‘ΡƒΡ‚ΡƒΠΌΠΎ Π¨ΠΈΠΌΡƒΡ€Π° (Tsutumo Shimura). Π’Π΅ΡΡŒ этот ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан Π² бСстсСллСрС "Π Π°Π·Π±ΠΎΡ€ΠΊΠΈ", написанной для "New York Times" Π‘ΡƒΡ‚ΡƒΠΌΠΎ Π¨ΠΈΠΌΡƒΡ€ΠΎΠΉ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности Π² Java -- это Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° самого языка, синтаксичСскиС ΠΈ сСмантичСскиС конструкции языка. Π”Π°Π»Π΅Π΅ структура языка Java рассматриваСтся с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности.

Java -- ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык; каТдая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, производная ΠΎΡ‚ Π½Π΅Π΅) прСдставляСт собой настоящий ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’ΠΎ, Ρ‡Ρ‚ΠΎ каТдая примитивная структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ всСх тСорСтичСских прСимущСств Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ООП-языков Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, написанных Π½Π° Java, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… синтаксис ΠΈ сСмантику:

Β· Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ ΠΈ сокрытиС Π΄Π°Π½Π½Ρ‹Ρ… Π² private-ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡΡ…;

Β· УправляСмый доступ ΠΊ структурам Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ public-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹;

Β· ΠΠ°Ρ€Π°Ρ‰ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ иСрархичСскоС построСниС слоТной структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠšΠ»Π°ΡΡΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ final, запрСщая Ρ‚Π΅ΠΌ самым созданиС подклассов ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’Π°ΠΊΠΎΠ΅ объявлСниС прСпятствуСт Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΌΡƒ измСнСнию ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π’ цСлях бСзопасности прСобразования Ρ‚ΠΈΠΏΠΎΠ² (typecasting) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ статичСски, Ρ‚Π°ΠΊ ΠΈ динамичСски; это Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° этапС компиляции Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²ΠΎ врСмя выполнСния, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ этому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСобразования Ρ‚ΠΈΠΏΠΎΠ². ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² прСпятствуСт ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠ΅Π½Π΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ВСроятно, эта ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, рСализованная нСпосрСдствСнно Π² языкС Java, являСтся основной Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠ΅ΠΉ бСзопасности. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Java- ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ обСспСчиваСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… всСгда ΠΈΠΌΠ΅ΡŽΡ‚ имя. КаТдая простая структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Java являСтся ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΌ языком ΠΈ обСспСчиваСт Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ доступ ΠΊ структурам Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. Π’ Π³Π»Π°Π²Π΅ 14 ΠΏΠΎΡ‚ΠΎΠΊΠΈ Java Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, приводятся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² языкС Java связан ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ (hashcode). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ состояния Java- ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΎ врСмя компиляции Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² синтаксисС языка Java, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ согласованности объявлСний private ΠΈ public, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² соотвСтствии с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ классы Java ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹. Π’Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚- ΠΊΠΎΠ΄ΠΎΠ² выполняСт мноТСство ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ согласованности ΠΈ бСзопасности ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

Β· ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° пСрСполнСния стСка ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ значимости указатСля стСка;

Β· Анализ доступа ΠΊ рСгистрам;

Β· ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ²;

Β· Анализ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ², создаваСмых ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ обСспСчиваСт Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ стСка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

ΠšΠ»Π°ΡΡΡ‹ Java ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ИмСна классов связаны с названиями ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· сСти, отличаСтся ΠΎΡ‚ локального ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈΠ½ΡΡ‚Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎ ошибкС ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… классов ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΡ€Π°Π²Π°, Π΄Π°ΠΆΠ΅ Ссли эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ…, случайных взаимодСйствий локального ΠΈ принятого классов.

ПозднСС связываниС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ мСстополоТСниС рСсурсов Π½Π° этапС выполнСния происходит Π² самый послСдний ΠΌΠΎΠΌΠ΅Π½Ρ‚. ПозднСС связываниС прСдставляСт ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ прСпятствиС Π½Π° ΠΏΡƒΡ‚ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π°Ρ‚Π°ΠΊ благодаря ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ соглашСниям, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠΌΡΡ выдСлСния памяти для этих рСсурсов.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Java-ioiaccoB слуТит для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, располоТСнного Π² локальной хост-машинС.

Π›ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ классов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎ сСти, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса ClassLoader. ClassLoader -- это подкласс стандартного класса Java ClassLoader, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ всС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ согласованности ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ вновь Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ класса.

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

Π’ языках Π‘ ΠΈ Π‘++ программист явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ распрСдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ, освобоТдаСт Π΅Π΅ ΠΈ слСдит Π·Π° всСми указатСлями Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ это услоТняСт сопровоТдСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ являСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ источником ошибок, приводящих ΠΊ появлСнию "висячих ссылок", Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… использованиСм null-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ опСрациями выдСлСния ΠΈ освобоТдСния памяти.

Π’ языкС Java ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, поэтому программист Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ явно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ освобоТдСниС памяти Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ автоматичСски, структурированно ΠΈ с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ соблюдСниСм согласования Ρ‚ΠΈΠΏΠΎΠ² Для освобоТдСния Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти вмСсто явных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ примСняСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сборки мусора (дСфрагмСнтация памяти). ΠŸΡ€ΠΈ этом устраняСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ошибок распрСдСлСния памяти ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈ освобоТдСнии памяти Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π½Π΅Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дублирования, клонирования ΠΈ Π·Π°Ρ…Π²Π°Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ доступных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности Π΄Π°Π½Π½Ρ‹Ρ….

Класс SecurityManager являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ срСдством для построСния систСм бСзопасности ΠΈ обСспСчСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² языка Java, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΈ внСшниС срСды (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java-совмСстимыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ машинно-зависимыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹). Π‘Π°ΠΌ класс SecurityManager Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для нСпосрСдствСнного использования (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ каТдая ΠΈΠ· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅); это Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс для создания подклассов, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

Помимо Π΄Ρ€ΡƒΠ³ΠΈΡ… особСнностСй Π² классС SecurityManager ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для распознавания процСссов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ:

Β· Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ инсталляции Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² классов ClassLoader;

Β· Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для машинно-зависимого ΠΊΠΎΠ΄Π°);

Β· Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° классов Π° Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ» классов;

Β· Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСтСвого соСдинСния;

Β· Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ соСдинСния с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ сСтСвым ΠΏΠΎΡ€Ρ‚ΠΎΠΌ;

Β· Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ входящСго сСтСвого соСдинСния;

Β· Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

Β· Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ класса.

Π“Π»Π°Π²Π½Ρ‹ΠΌ источником опасности для Java-nporpaMM являСтся Java-ΠΊΠΎΠ΄, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ ΠΈΠ· сСти ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Π½Π° клиСнтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ транспортируСмыС Java-nporpaMMbi Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ»Π΅Ρ‚Π°ΠΌΠΈ. Java-Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ возмоТностСй ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ языка, особСнно Π² части ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

На Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠΎ сСти, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния:

Β· НСльзя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы;

Β· НСльзя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ сСтСвыС соСдинСния, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ связСй с Ρ‚ΠΎΠΉ хост-машиной, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ считаны. Имя хост- ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² URL-адрСсС Ρ‚ΠΎΠΉ HTML-страницы, которая содСрТала Ρ‚Π΅Π³ , ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ codebase Ρ‚Π΅Π³Π° . Числовой IP-адрСс хост-ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π΅ допускаСтся.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ строгиС ограничСния Π½Π° доступ ΠΊ локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² срСдС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Netscape Navigator 3.0. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Appletviewer ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° JDK 1.0 ограничСния ΠΌΠ΅Π½Π΅Π΅ строгиС, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ явно список Ρ„Π°ΠΉΠ»ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹.

АпплСты ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства систСмы ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° system.getProperty (string key). АпплСты Π² Netscape 3.0 ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ этим свойствам. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ JDK 1.0 Appletviewer ΠΎΡ‚ Sun ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ свойству. Π’ Ρ‚Π°Π±Π». 1.2 пСрСчислСна информация, возвращаСмая для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π° key.

java интСрфСйс ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π’Π°Π±Π»ΠΈΡ†Π° 1.2 Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ систСмных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’ Ρ‚Π°Π±Π». 1.3 пСрСчислСны ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, нСдоступныС для Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² Π² срСдС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Netscape 3.0. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° JDK 1.0 Appletviewer ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ HotJava ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ доступом ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… рСсурсов.

Π’Π°Π±Π»ΠΈΡ†Π° 1.3 БистСмныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, нСдоступныС для Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ²

Java-систСма Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ двумя способами. АпплСт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΠΎ сСти ΠΈΠ»ΠΈ ΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈΠ· локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Бпособ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚Π° опрСдСляСт прСдоставляСмыС Π΅ΠΌΡƒ возмоТности.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π°ΠΏΠΏΠ»Π΅Ρ‚Π°ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Β· Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² клиСнтской машинС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ;

Β· Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² локальной машинС внСшниС процСссы;

Β· ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java-ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Java Π½Π° сайтС developerWorks содСрТатся сотни статСй, руководств, совСтов ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², написанных прСдставитСлями сообщСства Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ максимально эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Java ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Однако Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Java, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌ объСмС рСсурсов, доступных Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ создали эту страницу, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставлСн ΠΎΠ±Π·ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΎΠ±Ρ‰Π΅ΠΌ контСкстС возмоТностСй этого языка. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ссылки Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ для дальнСйшСго изучСния Java, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΡ‚Π°Ρ‚ΡŒΠΈ developerWorks для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, Π° Ρ‚Π°ΠΊΠΆΠ΅ ссылки для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² IBM.

Π’Ρ‹ - Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ? На этой страницС Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΎΠ±Π·ΠΎΡ€ основных Javaβ„’-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΡ… мСста Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ соврСмСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚Π° страница, содСрТащая ссылки Π½Π° Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ developerWorks ΠΏΠΎ этой ΠΈ смСТным Ρ‚Π΅ΠΌΠ°ΠΌ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ IBM, являСтся прСвосходной ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для изучСния Java.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ "Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java"?

Java - это ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ язык программирования ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

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

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Java - это программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° , вСрсии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… систСм. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ вСрсии Java (см. Ρ€Π°Π·Π΄Π΅Π» Π Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java Π½ΠΈΠΆΠ΅). ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя JVM ΠΈ интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования Π½Π° Java (API), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (классов), ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. API Java ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java, Π² Ρ‚ΠΎΠΌ числС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, обСспСчСниС бСзопасности, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ XML ΠΈ Web-сСрвисы. API ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат классы ΠΈ интСрфСйсы для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ связанных Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π·Π°Π΄Π°Ρ‡.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ API каТдая полноцСнная рСализация ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° для компиляции, запуска, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ докумСнтирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ развСртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСдС.
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС графичСскиС интСрфСйсы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ доступа ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ манипулирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

JVM Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ срСдой для выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Java языках. Π’ частности, Groovy, Scala ΠΈ спСциализированныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ruby ΠΈ Python ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ исполнСния Π½Π° JVM динамичСских ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков (Π±ΠΎΠ»Π΅Π΅ подробная информация ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ КакоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Java ΠΊ динамичСским языкам ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ?).

Π―Π·Ρ‹ΠΊ Java Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems. Π’ настоящСС врСмя Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ спСцификациями, эталонными рСализациями ΠΈ тСстами совмСстимости, осущСствляСтся ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ нСкоммСрчСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ JCP (Java Community Process), которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»Π΅ΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ. Π’ 2007 Π³. Sun выпустила ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Java, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL v2 (GPLv2). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этой вСрсии ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Java ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π—Π°Ρ‡Π΅ΠΌ слСдуСт ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java?

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

Π―Π·Ρ‹ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для устройств с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ рСсурсами, адаптируя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написанноС для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². ΠŸΡ€ΠΈ этом язык Java идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСрвСрных Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ рСсурсам Π² Web. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ бСзопасного выполнСния ΠΊΠΎΠ΄Π°, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ, Π±Ρ‹Π»Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Java, поэтому этот язык обСспСчиваСт высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Web-прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² срСдах выполнСния, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Web-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ мноТСство ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… сСрвисов, Π² Ρ‚ΠΎΠΌ числС Π΄ΠΈΡΠΏΠ΅Ρ‚Ρ‡Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ запросов, обСспСчСниС бСзопасности ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ API, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, транзакциями ΠΈ элСктронная ΠΏΠΎΡ‡Ρ‚Π°. На Java написан ряд сСрвСров ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ , Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Web-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Java, XML ΠΈ Web-сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ динамичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ содСрТимоС Web-страниц. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ сСрвСры Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ срСду для развСртывания ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ срСдства для управлСния транзакциями, кластСризации, обСспСчСния бСзопасности, связности ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ уровня доступности, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… стандартов Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… прилоТСниях, Java ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для примСнСния Web-сСрвисов Π½Π° основС XML, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… бизнСс-ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ рСсурсами ΠΈ прилоТСниями. Java Π»Π΅ΠΆΠΈΡ‚ Π² основС ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ услуг тСхничСского консалтинга IBM ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ IBM для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ для ряда Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

  • ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ , принятым Π² IBM, ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ SOA ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ прилоТСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обСспСчиваСтся ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚Π°ΠΊ ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ прСдприятия, Ρ‚Π΅ΠΌ самым поддСрТивая Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ бизнСс-процСссы. IBM прСдоставляСт ряд , ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° бизнСс-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ИВ-спСциалистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ.
  • - это ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ IBM ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ вСсь спСктр возмоТностСй для провСдСния стратСгичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π³ΠΈΠ±ΠΊΠΎΠΌ, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΌ, основанном Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… стандартах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии (Π² Ρ‚ΠΎΠΌ числС Java) ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ инфраструктурС.

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

  • Java SE (Java Platform, Standard Edition) . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Java SE, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Java-прилоТСния для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ сСрвСров, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ встроСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для систСм Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. РСдакция Java SE Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ классы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания Web-сСрвисов, ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Java EE (Java Platform, Enterprise Edition). Π’Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java SE являСтся Java SE 6, Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ "ΠœΡƒΡΡ‚Π°Π½Π³". ΠŸΡ€ΠΈ этом ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java SE 5 (Java 5.0, ΠΈΠ»ΠΈ "Π’ΠΈΠ³Ρ€").
    • ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ возмоТностСй Java SE 5 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ . Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ аспСктов программирования для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java SE 5, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΈ созданы ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ прилоТСния, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ ΠΈ для Java SE 6.
    • Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ возмоТности Java SE 6, слуТащиС для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
    • Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ приводится Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² скриптовый язык, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java SE 6 ΠΈ слуТащий для упрощСния программирования слоТных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов.
    • Π’ сСрии ΠΈΠ· Π΄Π²ΡƒΡ… статСй ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ содСрТится Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² API, прСдоставляСмый Java SE 6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Java-прилоТСниям Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ динамичСский скриптовый ΠΊΠΎΠ΄ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. .
  • Java EE (Java Platform, Enterprise Edition) . Π­Ρ‚Π° корпоративная вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ пСрСносимыС, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ бСзопасныС сСрвСрныС прилоТСния Π½Π° Java. Развивая возмоТности Java SE, Java EE прСдоставляСт API Web-сСрвисов, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ взаимодСйствия ΠΈ управлСния для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOA ΠΈ Web 2.0.
    • ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ , Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ возмоТностСй послСднСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java EE.
    • ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Ρ€ΠΈΡŽ - популярной инфраструктурС для создания лСгковСсных ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java EE.
    • Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΎ Java EE приводится Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ .
    • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ сСрии Начало ΠΏΡƒΡ‚ΠΈ: ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Java (EN) Π±Ρ‹Π»ΠΈ написаны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².NET, ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Windows ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Java.
  • Java ME (Java Platform, Micro Edition) . Java ME прСдоставляСт срСду для выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданных для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ встроСнных систСм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½Ρ‹Ρ… приставок ΠΈ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ². Π­Ρ‚Π° рСдакция ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ прСдоставляСт срСдства создания Π³ΠΈΠ±ΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов, Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ модСль обСспСчСния бСзопасности, ΠΏΠΎΠ»Π½Ρ‹ΠΉ спСктр встроСнных сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСтСвых ΠΈ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½ΠΎΠ²Ρ‹Ρ… динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° спСцификациях Java ME, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Π½Π° мноТСствС устройств ΠΈ ΠΏΡ€ΠΈ этом способны эффСктивно Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… систСмныС возмоТности.

КакиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java?

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Java Π½Π° сайтС developerWorks содСрТится , входящих Π² состав Java. НиТС пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, входящих Π² состав ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ссылка Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описываСтся Π΅Π΅ мСсто Π² ΠΌΠΈΡ€Π΅ Java. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² входят Π² состав всСх Ρ‚Ρ€Π΅Ρ… Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, входящиС Π² состав Java SE:

  • Java Foundation Classes (Swing) (JFC) - это Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Java-классов, слуТащих для создания графичСских интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… графичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² клиСнтских Java-прилоТСниях. Руководство .
  • JavaHelp - это нСзависимая ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ справочная систСма, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ тСхничСским писатСлям Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ справочныС страницы Π² Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, прилоТСния, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ устройства, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ справочныС Web-систСмы. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ .
  • Благодаря Java Native Interface (JNI) Java-прилоТСния, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ JVM, ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, написанными Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования.
  • ВСхнология Java Web Start ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, позволяя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ насыщСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, элСктронныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ΄Π½ΠΈΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ, Π±Π΅Π· инсталляции (см. ΡΡ‚Π°Ρ‚ΡŒΡŽ ).
  • Java Database Connectivity (JDBC) - это API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ срСдства для доступа ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ рСляционных источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ мноТСству Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… SQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ источникам Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, элСктронным Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΈ нСструктурированным Ρ„Π°ΠΉΠ»Π°ΠΌ.
  • Java Advanced Imaging (JAI) - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²Ρ‹ΡΠΎΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ модСль программирования, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΡƒΡŽ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ изобраТСниями.
  • Java Authentication and Authorization Service (JAAS) - это тСхнология, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ сСрвисам срСдства для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡ… ΠΏΡ€Π°Π² доступа. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Java-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ стандартной инфраструктуры PAM (Pluggable Authentication Module) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Java Cryptography Extension (JCE) - это Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… инфраструктуру ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ установлСния подлинности сообщСний (Message Authentication Code - MAC). Π­Ρ‚Π° тСхнология Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ симмСтричных, асиммСтричных, Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ бСзопасных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (sealed objects). Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² руководствС .
  • Java Data Objects (JDO) - это стандартная абстрактная модСль Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Java-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° интСрфСйсах. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ экзСмпляры Java-классов ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π² постоянном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…). Π­Ρ‚Π° модСль Π² рядС случаСв ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΡΠΌΡƒΡŽ запись Π² Ρ„Π°ΠΉΠ», ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, JDBC, Π° Ρ‚Π°ΠΊΠΆΠ΅ использованиС сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² EJB, ΠΊΠ°ΠΊ управляСмых ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ (Container Managed Persistence - CMP), Ρ‚Π°ΠΊ ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ хранящих состояниС (Bean Managed Persistence - BMP).
  • ΠŸΠ°ΠΊΠ΅Ρ‚ Java Management Extensions (JMX) содСрТит срСдства для создания распрСдСлСнных, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ…, динамичСских ΠΈ доступных Ρ‡Π΅Ρ€Π΅Π· Web ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для управлСния ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° устройств, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ сСтСй, основанных Π½Π° прСдоставлСнии сСрвисов (см. ΡΡ‚Π°Ρ‚ΡŒΡŽ ).
  • Java Media Framework (JMF) позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎ-, Π²ΠΈΠ΄Π΅ΠΎ- ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠ΅Π΄ΠΈΠ°-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² прилоТСния ΠΈ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π½Π° Java (см. руководство ).
  • Java Naming and Directory Interface (JNDI) - это ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ интСрфСйс для обращСния ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ сСрвисам ΠΈΠΌΠ΅Π½ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ сСти. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ эффСктивно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ слуТбам ΠΈΠΌΠ΅Π½ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎΠΉ срСдС уровня прСдприятия.
  • Java Secure Socket Extensions (JSSE) - это Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для обСспСчСния бСзопасного ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Они Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Java-Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² SSL (Secure Sockets Layer) ΠΈ TLS (Transport Layer Security) ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ срСдства для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности сообщСний, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° сСрвСрС ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (послСдняя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ).
  • Java Speech API (JSAPI) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя спСцификации JSGF (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Java Speech) ΠΈ JSML (язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Java Speech). Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ прСдоставляСт возмоТности для использования Ρ€Π΅Ρ‡Π΅Π²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС. JSAPI - это кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ API для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ распознавания голосовых ΠΊΠΎΠΌΠ°Π½Π΄, систСм Ρ€Π΅Ρ‡Π΅Π²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ синтСза Ρ€Π΅Ρ‡ΠΈ. Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΡΡ‚Π°Ρ‚ΡŒΠΈ .
  • Java 3D - это API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ Π² Java-прилоТСниях. API ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… интСрфСйсов, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²Ρ‹ΡΠΎΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ модСль программирования.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Metadata Facility позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для классов, интСрфСйсов, ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², благодаря Ρ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ со стороны срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, развСртывания ΠΈ сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° этапС выполнСния прилоТСния (см. ΡΡ‚Π°Ρ‚ΡŒΡŽ ).
  • Java Content Repository API - это API для доступа ΠΊ рСпозиториям ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² Java SE нСзависимо ΠΎΡ‚ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой высокоуровнСвыС систСмы управлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ классичСских Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π΄Π°Π½Π½Ρ‹Ρ….
  • Enumerations (пСрСчислСниС) - это Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° констант.
  • Generics (ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ классы с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (абстрактными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° этапС инстанциирования. Π—Π° подробностями ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ со ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ рассказываСтся ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с коллСкциями Π² Java SE 6.0.
  • Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Concurrency - это Π½Π°Π±ΠΎΡ€ классов, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ срСднСго уровня, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся прилоТСниям, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ….
  • Java API for XML Processing (JAXP) - это API, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Java-прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²Π½Π΅ зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ процСссора XML. Π­Ρ‚ΠΎ позволяСт прилоТСниям Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ процСссорами Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, тСхнология JAXB (Java API for XML Binding ) прСдоставляСт возмоТности для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сопоставлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² XML ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Java.
  • SOAP with Attachments API for Java (SAAJ) прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для формирования ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний Π² соотвСтствии со спСцификациСй SOAP 1.1 c ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ SOAP with Attachments (SOAP с влоТСниями). Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ).

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, входящиС Π² состав J2EE:

  • Enterprise JavaBeans (EJB) - это компонСнтная модСль, которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, прСдоставляя Ρ‚Π°ΠΊΠΈΠ΅ сСрвисы, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями, обСспСчСниС бСзопасности ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….
  • БпСцификация ΠΏΠΎΡ€Ρ‚Π»Π΅Ρ‚ΠΎΠ² опрСдСляСт Π½Π°Π±ΠΎΡ€ API для создания ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ² Π½Π° Java, охватывая Ρ‚Π°ΠΊΠΈΠ΅ аспСкты, ΠΊΠ°ΠΊ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ прСдставлСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, пСрсонализация ΠΈ обСспСчСниС бСзопасности (см. ΡΡ‚Π°Ρ‚ΡŒΡŽ ).
  • JavaMail - это API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ абстрактных классов, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΡƒΡŽ систСму.
  • Java Message Service (JMS) - это API, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ созданиС пСрСносимых Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями. Он опрСдСляСт ΠΎΠ±Ρ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… понятий ΠΈ стратСгий программирования для всСх систСм ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями, совмСстимых с JMS .
  • JavaServer Faces (JSF) прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Web-прилоТСния ΠΏΡƒΡ‚Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ страниц ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π° Ρ‚Π°ΠΊΠΆΠ΅ связывания этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с источниками Π΄Π°Π½Π½Ρ‹Ρ…, Π° событий, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ - с сСрвСрными ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ руководству ΠΈΠ· Π΄Π²ΡƒΡ… частСй ΠΈ сСрии статСй ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ .
  • JavaServer Pages (JSP) прСдоставляСт Web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ срСдства для быстрого создания ΠΈ простой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ динамичСских, кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… Web-страниц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, благодаря Ρ‡Π΅ΠΌΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, Π½Π΅ трогая динамичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ содСрТимоС (см. руководство .
  • Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π΅Π³ΠΎΠ² для JavaServer Pages (JSTL) - это Π½Π°Π±ΠΎΡ€ спСциализированных Ρ‚Π΅Π³ΠΎΠ², ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для выполнСния дСйствий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΈΠΌ Web-прилоТСниям. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ со ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ваши страницы JSP ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ JSTL (EN) ΠΈ сСриСй ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… частСй ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .
  • Π‘Π΅Ρ€Π²Π»Π΅Ρ‚Ρ‹ Java Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Web-сСрвСров, прСдоставляя кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ созданию Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, свободный ΠΎΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для CGI.
  • J2EE Connector Architecture (JCA) прСдоставляСт ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ J2EE ΠΊ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ систСмам (EIS). Π­Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° опрСдСляСт Π½Π°Π±ΠΎΡ€ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ бСзопасных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π½Π° основС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… поставщики EIS ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ стандартныС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ рСсурсов для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΡΠΌ , ΠΈ руководству .
  • БпСцификация J2EE Management (JMX) опрСдСляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ модСль управлСния для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ J2EE. Π­Ρ‚Π° модСль Π±Ρ‹Π»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ спроСктирована для взаимодСйствия со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ систСмами ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ управлСния. Она содСрТит стандартныС срСдства для сопоставлСния с ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ модСлью (Common Information Model - CIM), ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ управлСния SNMP (SNMP Management Information Base - MIB) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ модСлью Java ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ сСрвСрного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° EJB (J2EE Management EJB Component - MEJB).
  • Java Transaction API (JTA) – это высокоуровнСвая рСализация ΠΈ нСзависимый ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈ сСрвСрам ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ срСдства для доступа ΠΊ транзакциям. Java Transaction Service (JTS) опрСдСляСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ JTA ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½Π° Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ сопоставлСниС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ сСрвисом OMG (Object Transaction Service - OTS 1.1). РаспространСниС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² JTS рСализуСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Inter-ORB (IIOP). Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ .

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, входящиС Π² состав J2ME:

  • Mobile Information Device Profile (MIDP) - это ΠΎΠ΄Π½Π° ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… срСду выполнСния Java для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ рСсурсами. MIDP прСдоставляСт прилоТСниям Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π² сСбя срСдства для создания интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСтСвым рСсурсам, локального хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ.
  • Connected Device Configuration (CDC) – это стандартизированная инфраструктура для создания ΠΈ развСртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ со стороны ΠΌΠ½ΠΎΠ³ΠΈΡ… сСтСвых ΠΈ встроСнных устройств.
  • Mobile 3D Graphics API для J2ME (M3G) - это лСгковСсный ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ API для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ J2ME. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² сСрии ΠΈΠ· Π΄Π²ΡƒΡ… частСй .

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java ΠΈ созданиС Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

На протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ Java являСтся основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ послСднСС врСмя появилось мноТСство инфраструктур ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… созданиС Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java, Π² Ρ‚ΠΎΠΌ числС ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Web 2.0.

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ Π½ΠΈΠΆΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ, посвящСнным вопросам Web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java.

  • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎ Grails – соврСмСнной инфраструктурС для создания Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Groovy. Grails позволяСт ΠΎΡ€Π³Π°Π½ΠΈΡ‡Π½ΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ написанный ΠΊΠΎΠ΄ Π½Π° Java с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΈ динамичСского скриптового языка. Π‘ΠΎΠ»Π΅Π΅ подробная информация ΠΎ Groovy ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ КакоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Java ΠΊ динамичСским языкам ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ?.
  • Ajax – это мСтодология программирования, ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‰Π°Ρ использованиС скриптовых языков Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Web-сСрвСром, Ρ‡Ρ‚ΠΎ позволяСт быстро ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° страницах Π±Π΅Π· нСобходимости ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² сСрии статСй ΠΈ , Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Π΅ΠΌ Ajax ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π—Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π½Π° сайтС developerWorks.
  • JavaServer Faces (JSF) прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Web-прилоТСния ΠΏΡƒΡ‚Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ страниц ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π° Ρ‚Π°ΠΊΠΆΠ΅ связывания этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с источниками Π΄Π°Π½Π½Ρ‹Ρ…, Π° событий, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ - с сСрвСрными ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ руководству ΠΈΠ· Π΄Π²ΡƒΡ… частСй ΠΈ сСрии статСй ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ .
  • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Web-инструмСнтария Eclipse (Web Tools Platform – WTP) Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse, добавляя Π² Π½Π΅Π΅ срСдства для создания Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Java EE (см. руководство ).
  • Π’ Π½Π° сайтС developerWorks ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… прСвосходных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ этим вопросам.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java, SOA ΠΈ Web-сСрвисы

БСрвис-ориСнтированная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° (SOA) – это компонСнтная модСль, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ прилоТСния (извСстныС ΠΊΠ°ΠΊ сСрвисы , ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Web-сСрвисы ) Ρ‡Π΅Ρ€Π΅Π· строго описанныС интСрфСйсы ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ интСрфСйсов Π½Π΅ зависят ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ языка программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ сСрвис, благодаря Ρ‡Π΅ΠΌΡƒ поддСрТиваСтся ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… систСм. SOA – это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слабо связанной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ собой Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ классичСским сильно связанным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ модСлям.

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

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈ Π½Π° сайтС developerWorks ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² этих нСпростых тСхнологиях.
  • Π’ ΡΡ‚Π°Ρ‚ΡŒΡΡ… сСрии рассказываСтся ΠΎΠ± инфраструктурах Web-сСрвисов Π½Π° Java, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… слоях, созданных Π½Π° Π±Π°Π·Π΅ этих сСрвисов.
  • Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ приводится Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² элСгантный ΡΡ‚ΠΈΠ»ΡŒ проСктирования Web-сСрвисов ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ состояния (Representational State Transfer - REST) ΠΈ рассказываСтся ΠΎΠ± использовании Java для создания Web-сСрвисов ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ REST.
  • ПониманиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ JAX-RPC (RPC Π½Π° основС API Java для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с XML) ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для создания эффСктивных Web-сСрвисов Π½Π° Java.
  • JAX-WS – это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ JAX-RPC. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² этот Π½ΠΎΠ²Ρ‹ΠΉ API Π΄Π°Π½ΠΎ Π² руководствС .
  • БСрия статСй прСдставляСт собой руководство ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ сСрвисов (Service Component Architecture - SCA) - спСцификации, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ модСль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ систСм ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOA.
  • Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ приводится Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² инфраструктуру Service Data Objects (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… сСрвисов), которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ модСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Java EE ΠΏΡ€ΠΈ создании SOA-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

КакоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Java ΠΊ динамичСским языкам ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ?

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Java, ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования. ΠŸΡ€ΠΈ этом Π΄Π°ΠΆΠ΅ самыС маститыС программисты ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Java Π½Π΅ являСтся ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ языком для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСх Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π·Π°Π΄Π°Ρ‡. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, благодаря ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ со стороны JVM ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми прСимущСствами соврСмСнных динамичСских скриптовых ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΠ·ΠΌ этих языков ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ возмоТностях примСнСния динамичСских ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…, ссылки Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅.

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык Groovy позволяСт Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ языковыС конструкции ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΡ€ΠΈ этом прСдоставляя Π³ΠΈΠ±ΠΊΡƒΡŽ, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ компиляции, ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ синтаксис ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ возмоТностСй этого языка приводится Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… сСрии .
  • Новый API скриптов Π² Java SE 6, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Java SE 5 ΠΈ содСрТащий нСбольшой Π½Π°Π±ΠΎΡ€ интСрфСйсов ΠΈ классов, прСдоставляСт простой способ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Java-ΠΊΠΎΠ΄Π° скриптов, написанных Π½Π° дСсятках языков. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ внСшниС скрипты Π½Π° этапС выполнСния, динамичСски измСняя ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ прилоТСния. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом API ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² сСрии ΠΈΠ· Π΄Π²ΡƒΡ… статСй ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .
  • Π’Ρ‹ - горячий сторонник Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования? Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ рассказываСтся ΠΎ Scala - языкС программирования для JVM, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.
  • VM ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ языки программирования ΡƒΠΆΠ΅ Π½Π° протяТСнии Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ рСализациях для JVM Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ Rexx, Ruby, JavaScript, Python ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ….

Java ΠΈ созданиС свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

БущСствуСт бСсчислСнноС мноТСство ΠΏΠΎ созданию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, инструмСнтариСв, инфраструктур, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ сСрвСров ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΏΠΎ использованию этой ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Ряд свободных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² состав ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ популярными срСди Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях играя Ρ€ΠΎΠ»ΡŒ фактичСских стандартов.

  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Apache Software Foundation(EN) ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ мноТСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Java. НиТС пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдставитСли этого сСмСйства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
    • Apache Struts(EN) - это инфраструктура для создания Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ "МодСль-ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅-ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€" (Model-View-Controller).
    • Apache Shale(EN) - Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° соврСмСнная инфраструктура для создания Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ наслСдницСй Struts ΠΈ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ JSP (JavaServer Pages). Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Shale содСрТится Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… сСрии .
    • Apache Ant являСтся фактичСским стандартом для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса сборки Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
    • БрСдство сборки Apache Maven(EN) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ соврСмСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎΠ΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ мноТСства нСзависимо ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (см. руководство ).
    • Apache Tomcat - это популярный Web-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ сСрвлСты ΠΈ сСрвСрныС страницы Java (JSP).
    • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Apache Geronimo(EN) Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ спСцификации сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java EE Π½Π° основС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ свободных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Geronimo ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ , Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½Π° сайтС developerWorks, содСрТащСм мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².
    • Apache Derby(EN) - это сСрвСр рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Java. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Derby приводится Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ .
  • Eclipse(EN) – это открытая ΠΈ нСзависимая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… инструмСнтов для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Она написана Π½Π° Java ΠΈ прСдоставляСт инфраструктуру Π½Π° основС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΈ использованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств. IBM являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Eclipse.org ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ участвуСт Π² совСтС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π°Ρ…. О Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… тСхнологиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Eclipse, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° созданиС Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…:
    • AspectJ(EN) - это аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ языка Java, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сквозной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Турналирования ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
    • Standard Widget Toolkit(EN) (SWT) - это инструмСнтарий, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ возмоТности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для создания элСмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов эффСктивным ΠΈ пСрСносимым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.
    • Mylyn(EN) - это мощная систСма управлСния заданиями для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Eclipse. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство содСрТится Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ, Ρ€Π°Π½Π΅Π΅ извСстный ΠΊΠ°ΠΊ "систСма бСзопасности Acegi для Spring" - это ΠΌΠΎΡ‰Π½ΠΎΠ΅ ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для обСспСчСния бСзопасности Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… прилоТСниях, созданных Π½Π° Π±Π°Π·Π΅ инфраструктуры Spring. Она ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… сСрии .
  • Компания Sun Microsystems Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ , запустив ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ общСствСнныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° сайтС java.net(EN) :
    • OpenJDK

Как Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ программирования Π½Π° Java?

Π•ΡΡ‚ΡŒ Π΄Π²Π° основных ΠΏΡƒΡ‚ΠΈ развития Π²Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования Π½Π° Java: ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ курс обучСния (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ сСртификации) ΠΈΠ»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡΡΡŒ Π² написании ΠΊΠΎΠ΄Π°. ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ курсы Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ работодатСля, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚Π΅ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ стоящих ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌ тСхничСских Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈ этом Π²Ρ‹ смоТСтС ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ свои знания Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях Java, экспСримСнтируя ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС доступныС рСсурсы. Какой Π±Ρ‹ ΠΏΡƒΡ‚ΡŒ Π²Ρ‹ Π½ΠΈ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ, Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.

  • Руководства ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ
    • На сайтС developerWorks прСдставлСна ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ коллСкция , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ стСпСни полСзности Π² процСссС изучСния Java ΡƒΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ написанию ΠΊΠΎΠ΄Π°.
    • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ сСрий ΠΈ прСкрасно подходят для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ вашСй Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ владСния Java.
    • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ проСктирования ΠΏΡ€ΠΈ создании Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ рассматриваСтся Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… сСрии .
    • ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Java Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π² свои прилоТСния срСдства для ΠΈΡ… ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ тСстирования. На сайтС developerWorks прСдставлСны нСсколько статСй сСрии - это ΠΈΠ³Ρ€Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Eclipse, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ программирования Π½Π° Java. Вводная информация ΠΎ CodeRuler приводится Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π—Π°Π²ΠΎΠ΅Π²Π°Π½ΠΈΠ΅ срСднСвСковых королСвств вмСстС с CodeRuler (EN).
  • ВСхничСскиС ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ курсы IBM
    • Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию прСдлагаСтся большой Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²Ρ‹Ρ…, ΠΎΡ‡Π½Ρ‹Ρ… ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… курсов ΠΏΠΎ Java, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ IBM Global Services.
  • БСртификация
    • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π°Ρ‚ΡŒ нСсколько экзамСнов для получСния сСртификатов, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎ Π²Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠ°Ρ… программирования Π½Π° Java. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, посвящСнныС курсам с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сСртификациСй, находятся Π½Π° сайтС Java Certification(EN) .
    • IBM прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π² Ρ‚Π°ΠΊΠΈΡ… тСхнологиях, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Java, ΠΊΠ°ΠΊ созданиС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для WebSphere, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Rational, DB2, XML ΠΈ SOA.
  • Π€ΠΎΡ€ΡƒΠΌΡ‹
    • , ΠΌΠΎΠ΄Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ экспСртами, Π·Π° ΠΏΠ»Π΅Ρ‡Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java-тСхнологиями - это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈΠ· способов изучСния языка Java.

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ IBM для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

IBM Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² Π² практичСском ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ссылки Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ IBM, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java.

  • БСсплатно Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹:
    • (Java Developer Kit) - это Π½Π°Π±ΠΎΡ€ срСдств для создания ΠΈ тСстирования Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Java SE ΠΈ Java ME Π½Π° мноТСствС популярных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π² Ρ‚ΠΎΠΌ числС Windows, Linux ΠΈ AIX.
    • (IBM Development Package for Eclipse) - это основанный Π½Π° Eclipse Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ инструмСнтарий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния Π² собствСнной Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
    • : Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Eclipse c сайта developerWorks, Π² Ρ‚ΠΎΠΌ числС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выпускаСмыС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Calisto ΠΈ Europa.
    • - это Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ пСрспСктивных Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² IBM. К Π½ΠΈΠΌ относятся API, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, эталонныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ссылки Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, прСдставлСнныС Π² alphaWorks.
    • . Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Π΅ для тСстирования Ant-скрипты для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Eclipse, Rational ΠΈ WebSphere IDE для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java EE ΠΈ SCA.
    • (IBM Pattern Modeling and Analysis Tool for Java Garbage Collector). Данная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ трассировочныС Ρ„Π°ΠΉΠ»Ρ‹ GC, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ использованиС динамичСской памяти (ΠΊΡƒΡ‡ΠΈ) ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ настройки прилоТСния Π½Π° основС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² модСлирования Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. (Secure Shell Library for Java) - это лСгковСсная рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH-2, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌ IETF (Internet Engineering Task Force). Он прСдоставляСт срСдства для бСзопасной Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ сСрвисы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² условиях Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ сСти. позволяСт ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π΅ΠΌ самым ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго бизнСса Π·Π° счСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ доступа ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ информационная Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ? Π­Ρ‚ΠΎ состояниС защищСнности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΅Ρ‘ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ состояниС защищСнности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ провСсти Π°Π½Π°Π»ΠΈΠ· ΡƒΠ³Ρ€ΠΎΠ· ΠΈ ΠΈΡ… источников, ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡƒΡ‰Π΅Ρ€Π±Π°, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ³Ρ€ΠΎΠ·, риски (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π°ΡˆΡƒ систСму/ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

На ΠΌΠΎΠΉ взгляд, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ»ΠΈ языка программирования Π±Π΅Π· привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ способу Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚. Π΅. Π±Π΅Π· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° языкС, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π’Π— с описаниСм Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. Но ΠΈ этого Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Π»ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ состояниС защищСнности Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы со своСй спСцифичной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ, Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², бизнСс-процСссами, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, людьми. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с постройкой Π΄ΠΎΠΌΠ°. Π£ нас Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ (пСсок, Ρ†Π΅ΠΌΠ΅Π½Ρ‚, Ρ‰Π΅Π±Π΅Π½ΡŒ, ΠΊΠΈΡ€ΠΏΠΈΡ‡ ΠΈ Ρ‚. Π΄.) ΠΈ инструмСнты (Π²Π΅Π΄Ρ€ΠΎ, Π»ΠΎΠΏΠ°Ρ‚Π°, ΡˆΠΏΠ°Ρ‚Π΅Π»ΡŒ ΠΈ Ρ‚. ΠΏ.). ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ/инструмСнтам качСство ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΌΡ‹ Π½Π΅ смоТСм: сколько ΠΎΠ½ простоит, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ Π² Π½Π΅ΠΌ Ρ‚Ρ€Π΅Ρ‰ΠΈΠ½Ρ‹, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Π² Π½Π΅ΠΌ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Ρ‚ΠΈΡ…ΠΎ. НуТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠΌΠ°, Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈ Π±Ρ€ΠΈΠ³Π°Π΄Ρƒ мастСров. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΌΡ‹ смоТСм провСсти измСрСния соотвСтствия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Π“ΠžΠ‘Π’Ρƒ, БНиПам, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ измСрСния ΠΏΠΎ Ρ‚Π΅ΠΏΠ»ΠΎΠ·Π°Ρ‰ΠΈΡ‚Π΅, ΡˆΡƒΠΌΡƒ, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ, провСсти Π°Π½Π°Π»ΠΈΠ· качСства Ρ†Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ вопросов. Но Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ вопрос «сколько ΠΎΠ½ простоит?Β» Ρƒ нас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ всСх условий эксплуатации Π΄ΠΎΠΌΠ° ΠΈ всСх Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° протяТСнии всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Как ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² Java

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Java. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Java, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java, выполняСмый Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной Java (JVM) - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰Π΅ΠΉ инструкции ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Достоинством ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ способа выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ являСтся полная Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ оборудования, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Java-прилоТСния Π½Π° любом устройствС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сущСствуСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина.

Β« Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык» Π·Π²ΡƒΡ‡ΠΈΡ‚ красиво, Π½ΠΎ самая распространённая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° - это ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ обратная сторона ΠΌΠ΅Π΄Π°Π»ΠΈ - ΡƒΡ‚Π΅Ρ‡ΠΊΠ° памяти Π² JVM, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ памяти ΠΈ сбоям. Π’ связи с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ уязвимости, вСдь основной постулат надСТности - Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΆΠ΅ случаС собираСтся Ρ‚Π°ΠΊΠΎΠΉ слоТный ΠΏΠΈΡ€ΠΎΠ³ ΠΈΠ· обСспСчСния совмСстимости большого количСства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ ОБ, Ρ‡Ρ‚ΠΎ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ всС Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π² Π½ΠΈΡ… уязвимости ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈΡ… ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ. Π£ Ρ‚ΠΎΠΉ ΠΆΠ΅ Microsoft уязвимости ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΈ исправлСны спустя 4-8 Π»Π΅Ρ‚, ΠΈ это Ссли Π½Π΅ Π±Ρ€Π°Ρ‚ΡŒ Π² расчёт оставлСнныС Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ ошибкС Π½Π΅Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ возмоТности.

Из ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: ΠΊΠΎΠ³Π΄Π° программисты Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связан с ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, ΠΈΠ»ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ старый Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Ρ‚ΠΎ Π² 15% случаях ΠΎΠ½ΠΈ Π»ΠΎΠΌΠ°ΡŽΡ‚ Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. И Ссли ΠΏΡ€ΠΈ этом Π½Π΅ проводят ΠΏΠΎΠ»Π½ΠΎΠ΅ тСстированиС - Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ с Π½ΠΎΠ²Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Π½ΠΎ с частично Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ старым. Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ различия написания ΠΊΠΎΠ΄Π° для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, вСрсий ОБ, ПО. Π’ связи с этим ΠΌΠΎΠΆΠ½ΠΎ сСбС ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, насколько тяТСло ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ язык программирования JavΠ° ΠΈ JVM, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΏΡ€ΠΎ вопросы бСзопасности.

На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Java Development Kit 10, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΌ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ обСспСчСния бСзопасности, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Π΅Ρ‰Π΅ для Java SE 8 ΠΈ описанныС Π² Security Documentation. Π’ дСсятой вСрсии Π½Π΅ добавилось Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ.

ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Ρƒ Oracle сущСствуСт рСсурсный Ρ†Π΅Π½Ρ‚Ρ€ бСзопасности Java . Π’ Ρ†Π΅Π»ΠΎΠΌ компания раздСляСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Java Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных Ρ€Π°Π·Π΄Π΅Π»Π°:

А) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹:

Π‘Π»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС послСдниС обновлСния срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ бСзопасности;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ контроля коррСктности ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Checker Framework);

Π‘) систСмныС администраторы Π΄ΠΎΠ»ΠΆΠ½Ρ‹:

Π‘Π»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС послСдниС обновлСния для Java ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (Π² Ρ‚. Ρ‡. ОБ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΠΈ Ρ‚. Π΄.);

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° развСртывания Java, описанныС ΠΈ ;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’) ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹:

ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ послСднюю ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Java;

Π“) профСссионалам Π² области бСзопасности Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ инструмСнты управлСния ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Advanced Management Console);

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ установку всСх ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ бСзопасности;

Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС слСдовали ΠΈ выполняли ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ трСбования бСзопасности. Π”ΠΎΡΡ‚ΠΈΡ‡ΡŒ состояния бСзопасности Π½Π° Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообща ΠΈ примСняя всС доступныС ΠΌΠ΅Ρ€Ρ‹ (тСхничСскиС, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅). Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ моя ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Π² 60% ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρƒ ИВ- ΠΈ Π˜Π‘-слуТб всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ устройства ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½Ρƒ. А Π²ΠΎΡ‚ самыми Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² этой области ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Ρ‹, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ПО ΠΈ вопросы бСзопасности

Если Π²Π·ΡΡ‚ΡŒ ΡˆΠΈΡ€Π΅, Ρ‚ΠΎ основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ бСзопасности Π² прилоТСниях ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

А) ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ понимания Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ бСзопасности Π² Ρ†Π΅Π»ΠΎΠΌ, Π½Π΅ говоря ΠΎ спСцифичСских знаниях ΠΈ примСняСмых Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ….

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ассоциируСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ доступа ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Π°, Ρ€Π΅ΠΆΠ΅ - Π·Π°Ρ‰ΠΈΡ‚Π° соСдинСния Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ https (использованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ). Π’. Π΅. Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обСспСчСния бСзопасности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ останутся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, «для Π³Π°Π»ΠΎΡ‡ΠΊΠΈΒ», Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ нюансов:

Для ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ: ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π½Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π»ΠΈΠ½Π°, ΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒ, частота смСны, Π½Π΅ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ, количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ нСльзя Π΄ΠΎΠ½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² скоуп-Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСобходимости Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

По ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ доступа: Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ описали Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ доступа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны Π² ПО. Π’ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сами Β«ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΒ» Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈ администраторам. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ систСму, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Π½ΠΎ трСбуСтся ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° настройку ΠΈ согласованиС ΠΏΡ€Π°Π². Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ - Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ систСму разграничСния доступа. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Однако Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΠΌ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСдостаточной Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² ПО. Или ΠΆΠ΅ ΠΊ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π»ΠΎΠ³ΠΎΠ² ΠΈ большого ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ сущСствСнныС ограничСния Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄ΠΈΠ½-Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π°) ΠΈΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΊΡƒΠΏΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ записи ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠ² ΠΈ быстротой поиска Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ финансирования Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΡˆΡ‚Π°Ρ‚Π°, Π·Π°ΠΊΡƒΠΏΠΊΡƒ SIEM-систСм с настройкой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ вСсти ΠΊ рискам, связанным с Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом тратится слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π—Π°Ρ‰ΠΈΡ‚Π° ΠΊΠ°Π½Π°Π»ΠΎΠ² связи - Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ сущСствСнный ΠΌΠΎΠΌΠ΅Π½Ρ‚, особСнно для ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Ρ… ΠΈ банковских систСм, Π³Π΄Π΅ ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ€Π°Π·Π³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ финансовыС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ. Π§Π°Ρ‰Π΅ всСго Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ срСды ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, Π° Ссли ΠΈ Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ настройки Β«ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, TLS/SSL. Но Ρ‚Π°ΠΌ вСдь Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ свои особСнности ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ вСрсии ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° (TLS 1.1, 1.2, 1.3 ΠΈΠ»ΠΈ SSL v1-3), Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (RC4, IDEA, Triple DES, SEED, Camellia ΠΈΠ»ΠΈ AES), Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠ»ΡŽΡ‡Π°. Иногда выбираСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TLS 1.2, с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ AES, Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΊΠ»ΡŽΡ‡Π° 256 Π±ΠΈΡ‚, Π½ΠΎ забываСтся ΠΏΡ€ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° адрСса ΠΏΠΎ ΠΏΠΎΡ€Ρ‚Ρƒ 443 для HTTPS ΠΈ ΠΈΠ»ΠΈ 80-ΠΉ ΠΏΠΎΡ€Ρ‚ для HTTP, вмСсто Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ 80-Π³ΠΎ ΠΏΠΎΡ€Ρ‚Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΏΠΎ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ. Или, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‚ инфраструктуру Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΈ совсСм Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΎ нСобходимости Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ сСтСвой доступ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами.

Π‘) Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с бизнСсом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ дСньги Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈ бСзопасности.

К соТалСнию, бизнСс Π½Π΅ всСгда ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Π·Π°Ρ‡Π΅ΠΌ Π΅ΠΌΡƒ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ рСсурсы Π½Π° Π±Π»ΠΎΠΊΠΈ бСзопасности, Ссли ΠΎΡ‚ Π½ΠΈΡ… Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·Ρ‹, Π΄Π΅Π½Π΅Π³ большС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π΅ принСсёт, Π° Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вСроятныС риски, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. БизнСс Ρ‡Π°Ρ‰Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ Π˜Π‘ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π».

К соТалСнию, Π² этом Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ бизнСс, Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅:

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² бСзопасности;

ПоТалСло Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ Π½Π° спСциалистов ΠΏΠΎ Π˜Π‘ (Π½Π΅ Π½Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠ»ΠΈ Π½Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ узкоспСциализированныС спСциалисты, ΠΈΠ»ΠΈ нанимаСтся ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° всС);

НС смогло Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ донСсти Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² бСзопасности ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ риски (Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅, финансовыС, врСмСнны́С).

Π’) ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ отсутствиС ΠΎΠ½ΠΎΠΉ.

Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° бизнСс ΠΈ Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π˜Π‘. Они Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Ρ‹, наняли ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… спСциалистов, Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ слоТности Π² ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ бизнСс-подраздСлСниями ΠΈ слуТбами Π˜Π‘/ИВ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Π“) НСдостаточная ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ простых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² вопросах Π˜Π‘.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ подраздСлСния, спСциалисты, тСхничСскиС ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹. Но ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΈ Π½Π΅ хотят Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. ΠžΡ‡Π΅Π½ΡŒ частая ситуация, ΠΈ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ комплСксно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ люди Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Π·Π°Ρ‡Π΅ΠΌ ΠΈΠΌ лишняя Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ соблюдСнию вопросов Π˜Π‘ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ антивирусом, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ слоТныС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, Π·Π½Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ бизнСс-процСссы ΠΈ Ρ‚. Π΄.). НуТно пСриодичСски ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ мастСр-классы, Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π˜Π‘, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π˜Π‘, ΠΈΡ… ΠΈ влияниС Π½Π° бизнСс, ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π”) НСхватка Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π˜Π‘ - Π½Π΅ всСгда Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ спСциалисты ΠΏΠΎ Π˜Π‘, ΠΈ программисты сами Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΎ бСзопасности Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ написанных ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… шаблонов бСзопасности (Security patterns).

ВсСх нюансов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ Π·Π½Π°ΡŽΡ‚ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π° - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ. Если ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² саму Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ρ‚ΠΎ процСсс Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Ρ‡Π΅ΠΌ каТСтся. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΡ‚ бизнСса, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π½Π° понятныС ΠΌΠΈΠ½ΠΈ-Π·Π°Π΄Π°Ρ‡ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², провСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, провСсти Π°Π»ΡŒΡ„Π°- ΠΈ Π±Π΅Ρ‚Π°-тСстирования, Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСстирования, ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ошибки, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ тСстам - этот процСсс Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ рСсурсов ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π΄ΠΎ ΠΌΠ΅Π»ΠΎΡ‡Π΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ бСзопасности, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ описанныС Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π― ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, срСды, условий. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ пилюли Π½Π΅ сущСствуСт ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹. Основная Π·Π°Π΄Π°Ρ‡Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Π½ΠΈΠΊΠ°Π»ΠΈ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΈ выполняли трСбования Π˜Π‘ ΠΈ Π±Ρ‹Π»ΠΈ заинтСрСсованы Π² ΠΈΡ… соблюдСнии. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± эффСктивности ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ зрСлости Π˜Π‘ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ руководствС ΠΌΡ‹ расскаТСм ΠΎΠ±ΠΎ всём, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ изучСния программирования Π½Π° Java . Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ возмоТностях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Java .

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования Java?

Π’ 1991 Π³ΠΎΠ΄Ρƒ «ЗСлёная ΠΊΠΎΠΌΠ°Π½Π΄Π° Β», ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Sun Microsystems , возглавляСмоС ДТСймсом Гослингом , создала язык для программирования Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… элСктронных устройств. На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ назывался Oak (Β«Π”ΡƒΠ± Β»). ΠŸΠΎΡ‡Π΅ΠΌΡƒ Β«Π”ΡƒΠ± Β»? ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π·Π° ΠΎΠΊΠ½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π° Гослинга росло это Π΄Π΅Ρ€Π΅Π²ΠΎ.

«ЗСлёная ΠΊΠΎΠΌΠ°Π½Π΄Π° Β» продСмонстрировала использованиС Oak Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π΅. Но для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ кабСльного тСлСвидСния Ρ‚Π΅Ρ… Π»Π΅Ρ‚ эта тСхнология Π±Ρ‹Π»Π° слишком ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΉ. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с этим Π½Π°Π±ΠΈΡ€Π°Π» ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠ» Π»ΡƒΡ‡ΡˆΠ΅ всСго.

Π§Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½ΠΎΠ²Ρ‹ΠΉ язык ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π² Green , ΠΈ ΡƒΠΆΠ΅ послС этого - Π² Java , Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ„Π΅ с острова Π―Π²Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ΅ Java ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ΠΊΡ€ΡƒΠΆΠΊΠ° с ΠΊΠΎΡ„Π΅.

Π’ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java Π±Ρ‹Π»ΠΈ популярны C/Π‘++ , поэтому Гослинг сдСлал синтаксис языка ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° C/C++ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» для Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Β«Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· - Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Β». Π’ 1995 Π³ΠΎΠ΄Ρƒ Sun Microsystems выпустили ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Java . И ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с этим Π±Ρ‹Π»ΠΎ объявлСно, Ρ‡Ρ‚ΠΎ Java Π²ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² состав Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Netscape Navigator .

Π’ 2010 Π³ΠΎΠ΄Ρƒ компания Sun Microsystems вмСстС с языком программирования Java Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Oracle .

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ вСрсий Java

  1. Июнь 1991 – старт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языка программирования Java .
  2. JDK 1.0 – Π―Π½Π²Π°Ρ€ΡŒ 1996 Π³ΠΎΠ΄Π°.
  3. JDK 1.1 – Π€Π΅Π²Ρ€Π°Π»ΡŒ 1997 Π³ΠΎΠ΄Π°.
  4. J2SE 1.2 – Π”Π΅ΠΊΠ°Π±Ρ€ΡŒ 1998 Π³ΠΎΠ΄Π°.
  5. J2SE 1.3 – Май 2000 Π³ΠΎΠ΄Π°.
  6. J2SE 1.4 – Π€Π΅Π²Ρ€Π°Π»ΡŒ 2002 Π³ΠΎΠ΄Π°.
  7. J2SE 5.0 – Π‘Π΅Π½Ρ‚ΡΠ±Ρ€ΡŒ 2004 Π³ΠΎΠ΄Π°.
  8. Java SE 6 – Π”Π΅ΠΊΠ°Π±Ρ€ΡŒ 2006 Π³ΠΎΠ΄Π°.
  9. Java SE 7 – Июль 2011 Π³ΠΎΠ΄Π°.
  10. Java SE 8 – 18 ΠΌΠ°Ρ€Ρ‚Π° 2014 Π³ΠΎΠ΄Π°.
  11. Java SE 9 – 21 сСнтября 2017 Π³ΠΎΠ΄Π°.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка программирования Java

Java - ΠΌΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ язык

Код Java , написанный Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ), ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

Для запуска Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java (Java Virtual Machine, JVM ). JVM ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, послС Ρ‡Π΅Π³ΠΎ процСссор ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ JVM . ВсС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, поэтому ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Java ΠΌΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌ языком программирования.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стили программирования, ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ слоТная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° разбиваСтся Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΡƒΡ‚Ρ‘ΠΌ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Благодаря Ρ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Java , Python ΠΈ C++ . Если Π²Ρ‹ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ настроСны ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ стоит Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΠ»Π°Π½ своСго обучСния.

Java Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро

Π Π°Π½Π½ΠΈΠ΅ вСрсии языка программирования Java часто ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Но сСгодня ситуация ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ помСнялась. НовыС вСрсии JVM Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΡ… процСссоры становятся всё ΡˆΡƒΡΡ‚Ρ€Π΅Π΅.

БСгодня Java - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых быстрых языков программирования. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Java-ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро ΠΊΠ°ΠΊ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C/C++ ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ Python , PHP ΠΈ Ρ‚.Π΄.

Java - бСзопасная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Java прСдставляСт собой :

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

ΠžΠ±ΡˆΠΈΡ€Π½Π°Ρ базовая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

Одна ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния Java - огромная стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ сотни классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… Тизнь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ,

java.lang – это ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для строк, массивов ΠΈ Ρ‚.Π΄.

java.util – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со структурами Π΄Π°Π½Π½Ρ‹Ρ…, рСгулярными выраТСниями, Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Ρ‚.Π΄.

kava.io - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с нуля , Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 3 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² устройств ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. Для Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ:

  1. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для Android - для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ язык программирования Java часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с Android SDK (ΠΎΡ‚ английского software development kit - ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ).
  2. Π’Π΅Π±-прилоТСния - Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСрвСрных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Struts ΠΈ JSP . Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ популярныС Π²Π΅Π±-прилоТСния, написанныС Π½Π° Java: Google.com , Facebook.com , eBay.com , LinkedIn.com .

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти сайты Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ написаны ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Java , ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования.

  1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния – Π½Π° Java написаны Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ Eclipse , OpenOffice , Vuze , MATLAB ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
  2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Big Data – для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Β«Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Β» ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Hadoop , написанным Π½Π° Java .
  3. Π’Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ систСмы – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Oracle Extreme Java Trading Platform , ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ‚Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³Π°.
  4. ВстраиваСмыС устройства – Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Embedded ΠΎΡ‚ Oracle сСгодня Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Ρ‹, SIM-ΠΊΠ°Ρ€Ρ‚Ρ‹ , ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΠΈ Blu-ray ΠΈ Ρ‚.Π΄.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ СстСствСнного языка ) ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… областях.

ВСрминология Java, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт Π·Π½Π°Ρ‚ΡŒ

Java – это Π½Π°Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (язык программирования ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для создания ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Однако Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ Java часто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΈ сам язык программирования.

Π―Π·Ρ‹ΠΊ программирования Java – ΠΌΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями.

Java 9 – послСдняя Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ вСрсия Java .

Java EE , Java Me ΠΈ Java SE – эти названия ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Java Enterprise Edition , Micro Edition ΠΈ Standard Edition , соотвСтствСнно.

Java EE Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° прилоТСния, запускаСмыС Π½Π° сСрвСрах. Java ME создана для ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ мощности устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ встраиваСмыС устройства. Java SE - стандартноС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Java для написания ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ , Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Java SE .

JVM β€” Java Virtual Machine (Β«Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java Β») - это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Java .

JRE – Java Runtime Environment («срСда выполнСния Java Β») Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя JVM , ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Но Π² JRE Π½Π΅Ρ‚ компилятора, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

JDK – Java Development Kit (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ) содСрТит JRE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ компиляторы, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚.Π΄.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java Π½Π° своСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java Π½Π° Mac OS

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с нуля ΠΈ установки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Mac OS X ΠΈΠ»ΠΈ macOS :

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Java (JDK ) со страницы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Java SE .
  2. Π”Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ скачанному DMG-Ρ„Π°ΠΉΠ»Ρƒ ΠΈ слСдуйтС инструкциям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-установщика.
  3. Для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ установки ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

javac –version

Если Java установлСна Π²Π΅Ρ€Π½ΠΎ, Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° вСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, javac 1.8.0_60 ).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ установка IDE (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ) для написания ΠΈ запуска Java-ΠΊΠΎΠ΄Π° . ΠœΡ‹ установим Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ IntelliJ IDEA ΠΈ запустим Π½Π° Π½Π΅ΠΉ Java . Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ IntelliJ ΠΈ скачайтС Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Community Edition .
  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ скачанный DMG-Ρ„Π°ΠΉΠ» ΠΈ слСдуйтС инструкциям ΠΏΠΎ установкС. Для быстрого доступа ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ IntelliJ IDEA Π² ΠΏΠ°ΠΏΠΊΡƒ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β».
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ IntelliJ IDEA . Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β«Don ’ t import settings Β» («НС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Β») ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Ok Β» . ПослС этого ΠΏΡ€ΠΈΠΌΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ приватности Jetbrains , Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Accept Β» .
  3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйс ΠΏΠΎΠ΄ сСбя. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот шаг ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всё ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, просто пропускайтС этот шаг, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Skip All and Set Defaults Β» (Β«ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всё ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Β»).


  1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ страницу привСтствия. НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Create New Project Β» (Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β»).
  2. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Java Β» Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«New Β» Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π²Ρ‹Π±ΠΎΡ€Π° Β«JDK Β» . Π—Π΄Π΅ΡΡŒ Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ мСсто, ΠΊΡƒΠ΄Π° установили JDK , послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Next .


  1. Π£ вас Π±ΡƒΠ΄Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· шаблона (Β«Create project from template Β» ). Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Next Β» .
  2. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС установки языка программирования Java Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Finish Β» .
  3. Π’ Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Если ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Views > Tool Windows > Project .
  4. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Hello > New > Java ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ имя класса. ΠœΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ First .


  1. Для запуска Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ написанной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Run > Run… НаТмитС Π½Π° First (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ имя созданного Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°


Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java Π½Π° Linux

Для запуска ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· ΡƒΡ€ΠΎΠΊΠΎΠ² программирования с нуля Java Π½Π° Linux понадобится JAVA SE Development Kit (JDK ) ΠΈ IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкции шаг Π·Π° шагом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Java .

УстановитС Java

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для установки Java:

    sudo add-apt-repository ppa:webupd8team/java


    sudo apt update; sudo apt install oracle-java8-installer

  1. ΠŸΡ€ΠΈΠΌΠΈΡ‚Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС ΠΈ условия использования, Π½Π°ΠΆΠ°Π² Β«OK Β» ΠΈ Β«Yes Β» , соотвСтствСнно.
  2. Π’Ρ‹ установили Java . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ установка ΠΏΡ€ΠΎΡˆΠ»Π° Π±Π΅Π· ошибок, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

java –version

Если выводится тСкущая вСрсия, установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Если ΠΆΠ΅ Π½Π΅Ρ‚, ΡΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ со страничкой ΠΏΠΎΠΌΠΎΡ‰ΠΈ Oracle .

Установка IntelliJ IDEA

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° .


  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Community Edition , Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Β».
  2. ПослС скачивания смСнитС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ tar-Ρ„Π°ΠΉΠ» Java Π² ΠΏΠ°ΠΏΠΊΡƒ /opt ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo tar xf .tar.gz -C /opt/

  1. ПослС распаковки помСняйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° ΠΏΠ°ΠΏΠΊΡƒ bin ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ IntelliJ IDEA :

    cd /opt//bin

  2. Для запуска IDE Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
  3. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Don ’ t import settings Β» («НС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Β») ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«OK Β» . ПослС этого ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ приватности Jetbrains , Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Accept Β» .
  4. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для прохоТдСния курсов программирования Java ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйс ΠΏΠΎΠ΄ сСбя. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ярлык Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС для быстрого доступа ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ПослС этого для запуска IDE Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Next Β» Π½Π° всСх ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапах.
  5. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ страницу привСтствия. НаТмитС Β«Create New Project Β» (Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β»).
  6. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Java Β» Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² строкС Project SDK Π²Ρ‹Π±Ρ€Π°Π½Π° Java . Если Π½Π΅Ρ‚, Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ мСстополоТСниС, ΠΊΡƒΠ΄Π° установили JDK: /usr/lib/jvm/java-8-oracle.


  1. Π”Π²Π° Ρ€Π°Π·Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Next Β» ΠΈ создаём ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
  2. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Finish Β» . Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Если этой ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Views > Tool Windows > Project .
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ класс Java . Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ src Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² New > Java Class . Π—Π°Π΄Π°ΠΉΡ‚Π΅ имя класса. Π’ ΠΈΠΌΠ΅Π½ΠΈ класса Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².


  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Java-ΠΊΠΎΠ΄ ΠΈ сохранитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
  2. Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Run > Run … НаТмитС Π½Π° HelloWorld (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ) - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скомпилируСт Ρ„Π°ΠΉΠ» ΠΈ запустит Π΅Π³ΠΎ.


Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java Π½Π° Windows (XP, 7, 8 ΠΈ 10)

Для освоСния Java основ программирования ΠΈ запуска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Windows потрСбуСтся JAVA SE Development Kit (JDK) ΠΈ IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ пошаговой инструкции, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅:

Установка Java

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Java Standard Edition Development Kit .
  1. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Java SE Development Kit Π²Π²Π΅Ρ€Ρ…Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Accept License agreementΒ» (Β«ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС Β»). Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Windows (x64) , Ссли Ρƒ вас 64-битная опСрационная систСма ΠΈΠ»ΠΈ Windows (x86) , Ссли Ρƒ вас 32-битная ОБ .

  1. ПослС скачивания запуститС установочный Ρ„Π°ΠΉΠ» ΠΈ слСдуйтС инструкциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π° экранС. НаТмитС Β«Next Β». Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΆΠ°Π² Β«This feature will be installed on local hard drive Β» ΠΈ скопируйтС мСсто установки (ΠΎΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ ΠΆΡ‘Π»Ρ‚Ρ‹ΠΌ ) Π² Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Β», послС Ρ‡Π΅Π³ΠΎ снова Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Next Β».


  1. Π’ процСссС установки появится запрос ΠΎΠ± установкС JRE . НаТмитС Β«Next Β» , Π° Π·Π°Ρ‚Π΅ΠΌ Β«Finish Β» для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки.
  2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH . ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ПанСль управлСния > БистСма ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ > БистСма . Π’ Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ систСмы».

  1. НаТмитС Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды» . Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «БистСмныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β» Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» .

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ вСсь тСкст Π² ΠΏΠΎΠ»Π΅ Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ» ΠΈ скопируйтС Π΅Π³ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ». Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ Π΅Π³ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² скопированном тСкстС строка: C : ProgramData Oracle Java javapath ; . Если Π΄Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ. Если Π½Π΅Ρ‚, Ρ‚ΠΎ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ скопированноС Ρ€Π°Π½Π΅Π΅ мСсто установки Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ строки bin Π²ΠΎΡ‚ Ρ‚Π°ΠΊ: C : Program Files (x 86) Java jdk 1.8.0_112 bin ; ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ваша вСрсия JDK (jdk 1.8.0_112 ) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² окошко PATH .


  1. НаТмитС «ОК Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ внСсСнныС измСнСния.
  2. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ установлСна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ввСдСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java , ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку , Π½Π°Π±Ρ€Π°Π² cmd Π² строкС поиска Windows ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒβ€¦ Β» (Windows β€” R ). Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ java -version . Если отобраТаСтся тСкущая вСрсия Java , Π·Π½Π°Ρ‡ΠΈΡ‚, установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Если Π½Π΅Ρ‚, ΡΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ со страничкой ΠΏΠΎΠΌΠΎΡ‰ΠΈ Oracle .

Установка IntelliJ IDEA

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ IntelliJ IDEA .
  2. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Community Edition , Π½Π°ΠΆΠ°Π² Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Β».


  1. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ запуститС Ρ„Π°ΠΉΠ» установки ΠΈ слСдуйтС инструкциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π° экранС. Π—Π°Ρ‚Π΅ΠΌ создайтС ярлык Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС для 64-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ассоциации с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .java . НаТмитС Β«Next Β» ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ установку.


  1. ПослС установки ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ IntelliJ IDEA , Π½Π°ΠΆΠ°Π² Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС.
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Don ’ t import settings Β» («НС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Β») ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«OK Β». ПослС этого ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ приватности Jetbrains, Π½Π°ΠΆΠ°Π² Β«Accept Β».
  3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйс ΠΏΠΎΠ΄ сСбя. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот шаг ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всё ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Skip All and Set Defaults Β».
  4. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ страницу привСтствия. НаТмитС Β«Create New Project Β» (Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β»).


  1. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Java Β» Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«New Β» Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π²Ρ‹Π±ΠΎΡ€Π° JDK . Π—Π΄Π΅ΡΡŒ Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ мСстополоТСниС, ΠΊΡƒΠ΄Π° установили JDK Π²ΠΎ врСмя установки Java , послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«Next Β».
  2. IntelliJ IDEA Π½Π°ΠΉΠ΄Ρ‘Ρ‚ JDK ΠΈ распознаСт Π΅Π³ΠΎ. НикакиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Next Β» .
  3. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ экранС Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: HelloWorld ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Finish Β». Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скаТСт, Ρ‡Ρ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π΅ сущСствуСт, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «ОК Β». Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Views > Tool Windows > Project .
  4. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ имя класса, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ src. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΉ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² New > Java ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ имя класса. Π’ ΠΈΠΌΠ΅Π½ΠΈ класса Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².


  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈ сохранитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java ΡƒΡ€ΠΎΠΊΠ° программирования .
  2. Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Run > Run … НаТмитС Π½Π° HelloWorld - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скомпилируСт Ρ„Π°ΠΉΠ» ΠΈ запустит Π΅Π³ΠΎ.


Π’Π°ΡˆΠ° пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с Π½ΠΎΠ²Ρ‹ΠΌ языком программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Hello World (Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Β»). Π­Ρ‚ΠΎ простая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран слова Hello, World ! Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠΌ вас ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ IntelliJ IDEA .

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ IntelliJ IDEA .
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² File > New > Project… > Java (Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ).
  3. Π—Π°Π΄Π°ΠΉΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Project Name ) ΠΈΠ· курса программирования J a va . ΠœΡ‹ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Π΅Π³ΠΎ Hello World ΠΈ Π½Π°ΠΆΠΌΡ‘ΠΌ Β«Finish Β».
  4. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс Java .
  5. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ src Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню File > New > Java Class ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ класса- HelloWorld .
  6. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» HelloWorld.java ΠΈ сохранитС Π΅Π³ΠΎ.

public class HelloWorld { public static void main(String args) {


// prints "Hello, World!"


System.out.println("Hello, World!");

  1. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска (Run ). Если всё Π² порядкС, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° экранС надпись Hello, World !

Как Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Java?

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация Java

Oracle , компания, Π²Π»Π°Π΄Π΅ΡŽΡ‰Π°Ρ Java , ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ качСствСнныС ΡƒΡ€ΠΎΠΊΠΈ. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация освСщаСт всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Java ΠΈ рСгулярно обновляСтся.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: СдинствСнный минус - ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация Java Π½Π΅ всСгда написана самым простым языком.

Если Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Java , ΠΊΡƒΠΏΠΈΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, 1000 страниц Π½Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ дСнь. Но Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Java: ПолноС руководство (10-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅)

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java . ПослСднСС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅Π»ΠΈΠ·Π° Java 8 .

Π’ ΠΊΠ½ΠΈΠ³Π΅ описано всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java , Π²ΠΊΠ»ΡŽΡ‡Π°Ρ синтаксис, ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ основы программирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ API Java , Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Java ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Ѐилософия Java (4-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅)

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Java с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования, эта ΠΊΠ½ΠΈΠ³Π° для вас. Если ΠΆΠ΅ Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ с нуля, Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘ вмСстС с Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Java 8. ΠšΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹ΠΉ справочник: Бкорая ΠΏΠΎΠΌΠΎΡ‰ΡŒ Java-программистам

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° содСрТит понятныС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ J ava ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с нуля . Она ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассказываСт ΠΎΠ±ΠΎ всСх основных концСпциях Java (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Java 9 ). НС Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ сотни страниц Π² поисках Π½ΡƒΠΆΠ½ΠΎΠΉ строчки? ΠšΡƒΠΏΠΈΡ‚Π΅ эту ΠΊΠ½ΠΈΠ³Ρƒ.

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Если Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java , Π½Π΅ ΠΎΡˆΠΈΠ±Ρ‘Ρ‚Π΅ΡΡŒ - это пСрспСктивный язык программирования, ΠΏΠΎΠ»Π½Ρ‹ΠΉ самых Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… возмоТностСй.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Java , Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ нСсколькими совСтами:

  • НС Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°ΠΊ Ρ€ΠΎΠΌΠ°Π½. ЕдинствСнный способ ΡΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ программистом - ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
  • Если ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования (скаТСм , C# ), Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² стилС C# .
  • НайдитС ΠΎΠ½Π»Π°ΠΉΠ½-сообщСства, посвящСнныС Java . Когда Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java , Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ популярныС сайты ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹, посвящСнныС Java . ΠŸΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… программистов. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ собствСнныС знания. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π·Π°Π³Π²ΠΎΠ·Π΄ΠΊΠ°, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΠΈ.

НадССмся, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚ вас ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Java ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€œLearn Java Programming. The Definitive Guide ” Π±Ρ‹Π» ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Π΄Ρ€ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠœΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΌ синтаксисС Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Бинтаксис языка программирования - это Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΈ интСрпрСтируСтся…