Π Π°Π·Π½ΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ java: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java ΠΈΒ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π―Π·Ρ‹ΠΊ программирования Java — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π―Π·Ρ‹ΠΊ программирования Java?

Java
Класс языка:

ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, структурный, ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ

Появился в:

1995 Π³.

Автор(Ρ‹):

Sun Microsystems

ПослСдняя вСрсия:

Java Standard Edition 6 (1.6.14)

Випизация Π΄Π°Π½Π½Ρ‹Ρ…:

строгая полиморфная, статичСская, бСзопасная, имСнованная (Π°Π½Π³Π».), явная (Π°Π½Π³Π».)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

многочислСнныС

Π˜ΡΠΏΡ‹Ρ‚Π°Π» влияниС:

C++, Eiffel

Повлиял на:

Ада 2005, C#, D, Groovy, J#, VJ#, PHP, Scala

JavaΒ β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ 23 мая 1995 Π³ΠΎΠ΄Π°. Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π² русском языкС, ΠΊΠ°ΠΊ ΠΈ Π² рядС Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈΡΡŒ Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹Β β€” заимствованная англоязычная /ˈdʒɑːvΙ™/[1] ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Β«Π―Π²Π°Β», ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ названия острова Π―Π²Π°.

JavaΒ β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам язык, Π½ΠΎ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ уровня прСдприятий Π½Π° основС Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык программирования назывался Oak (русск. Π”ΡƒΠ±) ΠΈ разрабатывался ДТСймсом Гослингом для Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ элСктроники, Π½ΠΎ впослСдствии Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Java ΠΈ стал ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для написания клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвСрного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Назван Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠΈ ΠΊΠΎΡ„Π΅ Java, любимого программистами, поэтому Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ эмблСмС языка Java ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Ρ‡Π°ΡˆΠΊΠ° с дымящимся ΠΊΠΎΡ„Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности языка

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, выполняСмый Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ java-машиной (JVM)Β β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰Π΅ΠΉ инструкции ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π½ΠΎ с Ρ‚Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ тСкста, обрабатываСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС.

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

Часто ΠΊ нСдостаткам ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ относят Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ исполнСниС Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° языкС Java. Π”Π°Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ справСдливо для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсий Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² послСднСС врСмя ΠΎΠ½ΠΎ практичСски потСряло Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎΠΌΡƒ способствовал ряд ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ: ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ native-ΠΊΠΎΠ΄Π° Π² стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡƒΡΠΊΠΎΡ€Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСхнология ARM).

ИдСи, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ JVM, Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ»ΠΈ мноТСство энтузиастов Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ пСрСчня языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, исполняСмых Π² срСдС JVM[2]. Π­Ρ‚Π° идСя пСрСкликаСтся с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ CLI, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π² основу ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

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

Java 1.0

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Java Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 1990 Π³ΠΎΠ΄Ρƒ, пСрвая ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ вСрсия — Java 1.0,Β β€” Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 1995 Π³ΠΎΠ΄Ρƒ.

Java 2.0

К 1998 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° обновлённая спСцификация JDK 1.2, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠ°Ρ ΠΏΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Java 2. БобствСнно языковых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ вСрсии Π½Π΅ появилось. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дополнСния:

Java 5

БпСцификация Java 5 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² сСнтябрС 2004 Π³ΠΎΠ΄Π°. Π’ Π΄Π°Π½Π½ΠΎΠΉ вСрсии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ внСсли Π² язык Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ:

  • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (enum). Π Π°Π½Π΅Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π² Java Ρ‚ΠΈΠΏΡ‹ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с C++, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΈΠΌΠ΅ΡŽΡ‚ ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй.
    • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ классом Java, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ конструктор, поля, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π² Ρ‚ΠΎΠΌ числС скрытыС ΠΈ абстрактныС.
    • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ интСрфСйсы.
    • Для пСрСчислСний ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ, прСобразования ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся пСрСчислимым.
  • Аннотации — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния Π² тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… использованиС для получСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… свСдСний ΠΎ ΠΊΠΎΠ΄Π΅ ΠΈ Π΅Π³ΠΎ исполнСнии. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ инструмСнтарий для использования Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Одно ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉΒ β€” ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ создания тСстовых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для Java-ΠΊΠΎΠ΄Π°.
  • БрСдства ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ программирования (generics)Β β€” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ шаблонам Π² C++ (ΠΏΠΎΠ·ΠΆΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ появились ΠΈ Π² C#), Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с полями ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘ использованиСм Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java.
  • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ с Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ числом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  • Autoboxing/UnboxingΒ β€” автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ скалярными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Java ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ-Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅ΠΆΠ΄Ρƒ intΒ β€” Integer). НаличиС Ρ‚Π°ΠΊΠΎΠΉ возмоТности ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ явных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… случаях.
  • Π Π°Π·Ρ€Π΅ΡˆΡ‘Π½ ΠΈΠΌΠΏΠΎΡ€Ρ‚ статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  • Π’ язык Π²Π²Π΅Π΄Ρ‘Π½ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€).

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java

Π’Π½ΡƒΡ‚Ρ€ΠΈ Java ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ основных сСмСйства Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

  • J2EE ΠΈΠ»ΠΈ Java EE (начиная с v1.5)Β β€” Java Enterprise Editon, для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния уровня прСдприятия;
  • J2SE ΠΈΠ»ΠΈ Java SE (начиная с v1.5)Β β€” Java Standard Editon, для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΒ β€” для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм;
  • J2ME, Java ME ΠΈΠ»ΠΈ Java Micro Edition, для использования Π² устройствах, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности, Π² Ρ‚ΠΎΠΌ числС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ…, PDA, встроСнных систСмах

Π‘Π°ΠΌΡ‹ΠΌΠΈ популярными ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ сСрвСрныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ сСмСйства J2EE.

ПослСдним Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ являСтся вСрсия 1.6, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ систСмы бСзопасности, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ скриптового языка Mozilla RhinoΒ (Π°Π½Π³Π».), ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° интСграция с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ возмоТности Π² создании графичСских интСрфСйсов.

Java ΠΈ Microsoft

КомпаниСй ОБ, начиная с Windows 95. MSJVM Π±Ρ‹Π»Π° Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ спСцификации Sun Microsystems v.1.1.3, Π½ΠΎ Π½Π΅ соотвСтствовала Π΅ΠΉ ΠΏΠΎ ряду ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… характСристик (Π² частности, ΠΏΠΎ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ JNI ΠΈ ΠΏΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ нСстандартных Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ). ВпослСдствии это явилось ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ для судСбных исков со стороны Sun Microsystems ΠΊ [3]. Π’ настоящСС врСмя ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ .NET прСдлагаСтся Java-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык J#, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ спСцификации языка Java.

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

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Java (J2EE) Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: Amazon[4][5], [6][7], Yandex (нСоднозначная информация Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Java)[8][9], [10].

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² основном Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Java (J2EE) тСхнологиях, Π° Π½Π΅ Π½Π° .NET, хотя ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с послСдними: IBM, Oracle. Π’ частности, Π‘Π£Π‘Π” Oracle Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JVM ΠΊΠ°ΠΊ свою ΡΠΎΡΡ‚Π°Π²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ нСпосрСдствСнного программирования Π‘Π£Π‘Π” Π½Π° языкС Java, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹[11].

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

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

ИдСя пространств ΠΈΠΌΡ‘Π½ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½Π° Π² Java-ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, выводящая Β«Hello, World!Β»:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования шаблонов:

import java.util.*;
public class Sample {
    public static void main(String[] args) {
        // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.
        List<String> strings = new LinkedList<String>();
        strings.add("Hello");
        strings.add("world");
        strings.add("!");
        for (String s : strings) {
            System.out.print(s);
            System.out.print(" ");
        }
    }
}

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ языкС Java Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8 скалярных Ρ‚ΠΈΠΏΠΎΠ²: boolean, byte, char, short, int, long, float, double.

ΠšΠ»Π°ΡΡΡ‹-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

Π”Π»ΠΈΠ½Ρ‹ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ стандартом, Π° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π’ΠΈΠΏ char сдСлали Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ для удобства Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· идСологичСских ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Java): ΠΊΠΎΠ³Π΄Π° складывался стандарт, ΡƒΠΆΠ΅ сущСствовал Unicode-16, Π½ΠΎ Π½Π΅ Unicode-32. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ byte. Π’ΠΈΠΏΡ‹ float ΠΈ double ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния , ΠΈ Β«Π½Π΅ число» (Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.NaN; для Ρ‚ΠΈΠΏΠ° floatΒ β€” Ρ‚Π°ΠΊ ΠΆΠ΅, Π½ΠΎ с приставкой Float вмСсто Double. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ float ΠΈ double, Ρ‚ΠΎΠΆΠ΅ стандартизованы.

Π’ΠΈΠΏΠ”Π»ΠΈΠ½Π° (Π² Π±Π°ΠΉΡ‚Π°Ρ…)Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
booleanΠ½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎtrue, false
byte1βˆ’128..127
char20..216-1, ΠΈΠ»ΠΈ 0..65535
short2βˆ’215..215-1, ΠΈΠ»ΠΈ βˆ’32768..32767
int4βˆ’231..231-1, ΠΈΠ»ΠΈ βˆ’2147483648..2147483647
long8βˆ’263..263-1, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ βˆ’9.2Β·1018..9.2Β·1018
float4-(2-2-23)Β·2127..(2-2-23)Β·2127, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ βˆ’3.4Β·1038..3.4Β·1038, Π° Ρ‚Π°ΠΊΠΆΠ΅ , , NaN
double8-(2-2-52)Β·21023..(2-2-52)Β·21023, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ βˆ’1.8Β·10308..1.8Β·10308, Π° Ρ‚Π°ΠΊΠΆΠ΅ , , NaN

Вакая Тёсткая стандартизация Π±Ρ‹Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ язык ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-нСзависимым, Ρ‡Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· идСологичСских Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Java ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π΅Ρ‘ успСха. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄Π½Π° нСбольшая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ всё ΠΆΠ΅ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ. НСкоторыС процСссоры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² 10-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ рСгистры ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ способами ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Java максимально совмСстимой ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ систСмами, Π² Ρ€Π°Π½Π½ΠΈΡ… вСрсиях Π»ΡŽΠ±Ρ‹Π΅ способы ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ точности вычислСний Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹. Однако это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ сниТСнию быстродСйствия. Π’Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΠ΅ точности Ρ€Π°Π΄ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ нСзависимости ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ссли Π·Π° это приходится ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ПослС многочислСнных протСстов этот Π·Π°ΠΏΡ€Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово strictfp, Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ точности.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈ матСматичСских опСрациях

Π’ языкС Java Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

  1. Если ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ double, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ double.
  2. Π˜Π½Π°Ρ‡Π΅, Ссли ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ float, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ float.
  3. Π˜Π½Π°Ρ‡Π΅, Ссли ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ long, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ long.
  4. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ int.

ПослСднСС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Java ΠΎΡ‚ старых Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ C ΠΈ C++ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ бСзопасным. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² языкС Java послС выполнСния ΠΊΠΎΠ΄Π°

short x = 50, y = 1000;
int z = x*y;

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ z присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 50000, Π° Π½Π΅ βˆ’15536, ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π±Π΅Π·Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ C ΠΈ C++. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, скомпилированной MS VC++, начиная с вСрсии 7, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ соврСмСнными компиляторами (gcc, Intel C++, Borland C++, Comeau ΠΈΒ Ρ‚.Β Π΄.), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π²Π½ΠΎ 50000.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ссылки ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

Π’ языкС Java ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ динамичСски создаваСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² JavaΒ β€” ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ сущности. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылками, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСявными указатСлями Π½Π° динамичСски создаваСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ подчёркиваСтся синтаксисом описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ, Π² Java нСльзя ΠΏΠΈΡΠ°Ρ‚ΡŒ:

double a[10][20];
Foo b(30);

Π° Π½ΡƒΠΆΠ½ΠΎ:

double[][] a = new double[10][20];
Foo b = new Foo(30);

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ любого Ρ‚ΠΈΠΏΠ°, ΠΊΡ€ΠΎΠΌΠ΅ простых числовых Ρ‚ΠΈΠΏΠΎΠ². Π―Π²Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Java Π½Π΅Ρ‚. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ C, C++ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, ссылки Π² Java Π² высокой стСпСни бСзопасны благодаря Тёстким ограничСниям Π½Π° ΠΈΡ… использованиС, Π² частности:

  • НСльзя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° int ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ ссылку ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.
  • Над ссылками Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ++, βˆ’βˆ’, +, βˆ’ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ссылками Тёстко Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ссылок Π½Π° массивы, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ссылки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ наслСдуСмым Ρ‚ΠΈΠΏΠΎΠΌ ΠΈ Π΅Π³ΠΎ наслСдником, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ наслСдуСмого Ρ‚ΠΈΠΏΠ° Π² Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ явно Π·Π°Π΄Π°Π½ΠΎ ΠΈ Π²ΠΎ врСмя выполнСния производится ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΅Π³ΠΎ осмыслСнности. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ссылок Π½Π° массивы Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ лишь Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ прСобразования ΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² размСрности.
  • Π’ Java Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ взятия адрСса (&) ΠΈΠ»ΠΈ взятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ адрСсу (*). Π—Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠ° Π² Java ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ. АмпСрсанд (&) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ всСго лишь Β«ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΒ» (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ампСрсанд — «логичСскоС ΠΈΒ»).

Благодаря Ρ‚Π°ΠΊΠΈΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ограничСниям Π² Java Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ прямоС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ физичСских адрСсов (хотя ссылки, Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ, Π΅ΡΡ‚ΡŒ: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ссылки обозначаСтся null).

Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ссылок ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылочными, ΠΏΡ€ΠΈ присваивании Π½Π΅ происходит копирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊ, Ссли Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ

Foo foo, bar;
…
bar = foo;

Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ адрСса ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ foo Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ bar. Π’ΠΎ Π΅ΡΡ‚ΡŒ foo ΠΈ bar Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚; ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся пСрСмСнная foo, Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ связана пСрСмСнная bar, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Если ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ копию исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ-Ρ‡Π»Π΅Π½ΠΎΠΌ, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ C++) clone(), ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΌ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ конструктором.

ΠœΠ΅Ρ‚ΠΎΠ΄ clone() Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ класс Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π» интСрфСйс Cloneable (ΠΎΠ± интСрфСйсах см. Π½ΠΈΠΆΠ΅). Если класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Cloneable, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ clone() ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ всС поля (мСлкая копия). Если трСбуСтся Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поля (Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… поля ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ clone(). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° clone() часто являСтся Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ [12].

Π‘Π±ΠΎΡ€ΠΊΠ° мусора

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

ΠšΠ»Π°ΡΡΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Java Π½Π΅ являСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ языком: любая функция ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ тСрминология языка Java, Π³Π΄Π΅ Π½Π΅Ρ‚ понятий «функция» ΠΈΠ»ΠΈ «функция-Ρ‡Π»Π΅Π½Β» (Π°Π½Π³Π». member function), Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ ΠΈ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, Π² Java Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sin(), Π° Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Math.sin() класса Math (содСрТащСго, ΠΊΡ€ΠΎΠΌΠ΅ sin(), ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ cos(), exp(), sqrt(), abs() ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅).

БтатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Math (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… классов) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ sin() (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), Π²Π²Π΅Π΄Π΅Π½ΠΎ понятиС статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π°Π½Π³Π». static method; ΠΈΠ½ΠΎΠ³Π΄Π° Π² русском языкС ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ статичными). БтатичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ (ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static Π² описании) ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Π½Π΅ создавая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅Π³ΠΎ класса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ

вмСсто

Math m = new Math();
double x = m.sin(1);

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Π½Π° статичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ this ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ статичСским полям ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ.

БтатичСскиС поля ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ смысл, Ρ‡Ρ‚ΠΎ ΠΈ Π² C++: ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² СдинствСнном экзСмплярС.

Π€ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово final (Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΠΏΡ€ΠΈ описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ класса. Ѐинальная пСрСмСнная (имСнованная константа) инициализируСтся ΠΏΡ€ΠΈ описании ΠΈ дальшС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°. Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ ΠΏΡ€ΠΈ наслСдовании. Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ класс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ наслСдников Π²ΠΎΠΎΠ±Ρ‰Π΅.

ΠΠ±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ

Π’ Java ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ явно ΠΊΠ°ΠΊ final ΠΈΠ»ΠΈ private, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ C++: ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ классах, всСгда производится ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

Абстрактным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ (ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ abstract) Π² Java называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния, Π½ΠΎ Π½Π΅ Ρ‚Π΅Π»ΠΎ. Абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄ опрСдСляСтся Π² классах-наслСдниках. Π’ C++ Ρ‚ΠΎ ΠΆΠ΅ самоС называСтся чисто Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² классС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ абстрактныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, сам класс Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ описан ΠΊΠ°ΠΊ абстрактный. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ абстрактного класса ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСльзя.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹

Π’Ρ‹ΡΡˆΠ΅ΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ абстрактности Π² Java являСтся интСрфСйс (interface). ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса абстрактны: ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ abstract Π΄Π°ΠΆΠ΅ Π½Π΅ трСбуСтся. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π½Π΅ являСтся классом. Класс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ (extends) Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ (implements) интСрфСйс. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ интСрфСйс.

Π’ Java класс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, Π·Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ интСрфСйсов.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½ΠΎ нСльзя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

ΠœΠ°Ρ€ΠΊΠ΅Ρ€Π½Ρ‹Π΅ интСрфСйсы

Π’ Java Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ интСрфСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ содСрТат ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ JVM. Π­Ρ‚ΠΎ интСрфСйсы:

  • java.lang.Cloneable
  • java.io.Serializable
  • java.rmi.Remote
Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π² Java (generics)

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

// ОбъявлСниС ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ класса
class GenericClass<E> 
{
  E getFirst() { ... }
  void add(E obj) { ... }
}
 
// ИспользованиС ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ класса Π² ΠΊΠΎΠ΄Π΅
GenericClass <String> var = new GenericClass<String>();
var.add("qwerty");
String p = var.getFirst();

ДопускаСтся ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ΅ объявлСниС классов, интСрфСйсов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, синтаксис ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ объявлСния Ρ‚ΠΈΠΏΠΎΠ²-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² объявлСнии конструкции Π²ΠΈΠ΄Π° <T extends A & B & C...> Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏ-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ T Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π» интСрфСйсы A, B, C ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, Π° конструкция <T super C> Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏ-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ T Π±Ρ‹Π» Ρ‚ΠΈΠΏΠΎΠΌ C ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ².

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ шаблонов C#, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ срСдой исполнСния — компилятор просто создаёт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… шаблонов ΡƒΠΆΠ΅ Π½Π΅Ρ‚. РСализация шаблонов Π² Java ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π² C++: компилятор Π½Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ случая использования шаблона ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ класса ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°-шаблона, Π° просто создаёт ΠΎΠ΄Π½Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ прСобразования Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ряду ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ использования шаблонов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Java.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° принадлСТности ΠΊ классу

Π’ Java ΠΌΠΎΠΆΠ½ΠΎ явно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ foo instanceof Foo истинно, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ foo ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ классу Foo ΠΈΠ»ΠΈ Π΅Π³ΠΎ наслСднику, ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Foo (ΠΈΠ»ΠΈ, Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅, наслСдуСт класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСт Foo).

Π”Π°Π»Π΅Π΅, функция getClass(), опрСдСлённая для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Class. Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, foo.getClass()==bar.getClass() Π±ΡƒΠ΄Π΅Ρ‚ истинно, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ foo ΠΈ bar ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π² точности ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ классу (Π½ΠΎ это Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ это Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Class любого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ: Integer.class, Object.class.

Однако прямоС сравнСниС классов Π½Π΅ всСгда являСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ срСдством ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊ классу. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ isAssignableFrom(). Π­Ρ‚Π° функция ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° Class ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Class Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π·ΠΎΠ² Foo.class.isAssignableFrom(Bar.class) Π²Π΅Ρ€Π½Ρ‘Ρ‚ true Π² случаС, Ссли Foo являСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ класса Bar. Π’Π°ΠΊ ΠΊΠ°ΠΊ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° Object, Π²Ρ‹Π·ΠΎΠ² Object.class.isAssignableFrom() всСгда Π²Π΅Ρ€Π½Ρ‘Ρ‚ true. Π’ ΠΏΠ°Ρ€Π΅ с упомянутыми функциями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° Class ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ isInstance() (эквивалСнтно instanceof), Π° Ρ‚Π°ΠΊΠΆΠ΅ cast() (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ класса).

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов

  • JDKΒ β€” содСрТит Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов для всСго ПО Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Java SE ΠΈ Java EE
  • CDKΒ β€” для создания химичСского ПО

БрСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО

  • JDKΒ β€” ΠΏΠΎΠΌΠΈΠΌΠΎ Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java SE ΠΈ Java EE содСрТит компилятор ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки javac ΠΈ Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.
  • NetBeans IDEΒ β€” бСсплатная интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ JavaΒ β€” Java ME, Java SE ΠΈ Java EE. ΠŸΡ€ΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Sun Microsystems, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Java, ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ срСдство для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО Π½Π° языкС Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках (C, C++, Fortran ΠΈ Π΄Ρ€.).
  • Java SE ΠΈ Java EE. ВСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π² Eclipse ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java ME. ΠŸΡ€ΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ C, C++, Fortran ΠΈ Π΄Ρ€.)
  • IntelliJ IDEAΒ β€” коммСрчСская срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java SE, Java EE ΠΈ Java ME.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

  1. ↑ java (Π°Π½Π³Π».). Merriam-Webster Online Dictionary. Merriam-Webster.Β β€” Английская Π½ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΡ слова Β«JavaΒ». ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 5 июня 2009.
  2. ↑ Robert Tolksdorf. Programming languages for the Java Virtual Machine JVM (Π°Π½Π³Π».). is-research GmbH.Β β€” Онлайн-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… языков ΠΈ языковых Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для JVM. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 5 июня 2009.
  3. ↑ Microsoft Java Virtual Machine Support (Π°Π½Π³Π».). Microsoft (2003-09-12).Β β€” ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ заявлСниС Microsoft ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ MSJVM. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 5 июня 2009.
  4. ↑ Todd Hoff Amazon Architecture (Π°Π½Π³Π».) (2007-09-18).Β β€” ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Amazon с использованиСм Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  5. ↑ Amazon Elastic Compute Cloud (Amazon EC2) (Π°Π½Π³Π».). Amazon Web Services LLC.Β β€” ОписаниС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ возмоТностСй Amazon EC2 ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвиса. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  6. ↑ Todd Hoff eBay Architecture (Π°Π½Π³Π».) (2008-05-27).Β β€” ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ eBay Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  7. ↑ Randy Shoup, Dan Pritchett The eBay Architecture (Π°Π½Π³Π».) (PDF). SD Forum 2006 (2006-11-29).Β β€” ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ ΠΏΠΎ истории развития Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ eBay. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  8. ↑ Allen Stern Exclusive Interview With Yandex CTO Ilya Segalovich (Π°Π½Π³Π».). CenterNetworks (2008-01-14).Β β€” Π˜Π½Ρ‚Π΅Ρ€Π²ΡŒΡŽ с тСхничСским Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ЯндСкса Π˜Π»ΡŒΡ‘ΠΉ Π‘Π΅Π³Π°Π»ΠΎΠ²ΠΈΡ‡Π΅ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  9. ↑ Анатолий ΠžΡ€Π»ΠΎΠ² АрхитСктура ЯндСкс.Поиска (рус.) (PowerPoint). ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ встрСчи JUG Π² Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³Π΅ (2008-05-24). ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 6 июня 2009.
  10. ↑ Brian Guan The LinkedIn Blog. Blog Archive. Grails at LinkedIn. (Π°Π½Π³Π».). LinkedIn.com (2008-06-11).Β β€” Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания систСмы LinkedIn Π½Π° основС Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Grails. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 5 июня 2009.
  11. ↑ OracleJVM and Java Stored Procedures (Π°Π½Π³Π».). Oracle Inc..Β β€” Π Π°Π·Π΄Π΅Π» ΠΏΠΎΡ€Ρ‚Π°Π»Π° Oracle, посвящённый тСхнологиям Java Π² составС сСрвСра Π‘Π£Π‘Π” Oracle. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 5 июня 2009.
  12. ↑ Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Object.clone()(Π°Π½Π³Π».)

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

  • ΠœΠΎΠ½Π°Ρ…ΠΎΠ² Π’Π°Π΄ΠΈΠΌ Π―Π·Ρ‹ΠΊ программирования Java ΠΈ срСда NetBeans, 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. β€” БПб.: Β«Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Β», 2009. β€” Π‘.Β 720. β€” ISBN 978-5-9775-0424-9
  • Π”ΠΆΠΎΡˆΡƒΠ° Π‘Π»ΠΎΡ…. Java. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ = Effective Java. β€” М.: Β«Π›ΠΎΡ€ΠΈΒ», 2002. β€” Π‘.Β 224. β€” ISBN 5-85582-169-2
  • КСй Π‘. Π₯орстманн, Π“Π°Ρ€ΠΈ ΠšΠΎΡ€Π½Π΅Π»Π». Java 2. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° профСссионала, Ρ‚ΠΎΠΌ 1. ΠžΡΠ½ΠΎΠ²Ρ‹ = Core Javaβ„’ 2, Volume I—Fundamentals. β€” 7-Π΅ ΠΈΠ·Π΄. β€” М.: Β«Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2007. β€” Π‘.Β 896. β€” ISBN 0-13-148202-5
  • КСй Π‘. Π₯орстманн, Π“Π°Ρ€ΠΈ ΠšΠΎΡ€Π½Π΅Π»Π». Java 2. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° профСссионала, Ρ‚ΠΎΠΌ 2. Вонкости программирования = Core Javaβ„’ 2, Volume II—Advanced Features. β€” 7-Π΅ ΠΈΠ·Π΄. β€” М.: Β«Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2007. β€” Π‘.Β 1168. β€” ISBN 0-13-111826-9
  • Π‘Ρ€ΡŽΡ ЭккСль. Ѐилософия Java = Thinking in Java. β€” 3-Π΅ ΠΈΠ·Π΄.. β€” БПб.: Β«ΠŸΠΈΡ‚Π΅Ρ€Β», 2003. β€” Π‘.Β 976. β€” ISBN 5-88782-105-1
  • Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚, ДТСймс Π₯олмс. Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° Java = The Art of Java. β€” М.: Β«Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°Β», 2005. β€” Π‘.Β 336. β€” ISBN 0-07-222971-3
  • Π›ΡŽΠ±ΠΎΡˆ Π‘Ρ€ΡƒΠ³Π°. Java ΠΏΠΎ-быстрому: ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ экспрСсс-курс = LuboΕ‘ BrΕ―ha. Java HotovΓ‘ Ε™eΕ‘enΓ­.. β€” М.: Наука ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, 2006. β€” Π‘.Β 369. β€” ISBN 5-94387-282-5

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

Wikimedia Foundation.
2010.

β˜• Π§Ρ‚ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π½Π° Java: области примСнСния

Π’ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° нас ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π» Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-унивСрситСта GeekBrains. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ ΠΏΠ»ΡŽΡΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java ΠΌΡ‹ ΡƒΠΆΠ΅ рассказали Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° языка программирования JavaΒ». Π’ этот Ρ€Π°Π· ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ эти прСиущСства Π²Π»ΠΈΡΡŽΡ‚ Π½Π° использованиС языка Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

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

Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сфСрах начиная с e-commerce Π²Π΅Π±-сайтов ΠΈ заканчивая прилоТСниями для Android, Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… исслСдованиях ΠΈ финансах, ΠΈΠ³Ρ€Π°Ρ… Π²Ρ€ΠΎΠ΄Π΅ Minecraft ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях Eclipse, Netbeans ΠΈ IntelliJ.

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния Android

Java Micro Edition – это популярная кроссплатформСнная срСда, примСняСмая для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ смартфонов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Java: Netflix, Tinder, Google Earth, Uber ΠΈ Ρ‚. Π΄.

Π˜Π³Ρ€Ρ‹ Π½Π° Java

Π‘Π°ΠΉΡ‚ Java-Gaming.org ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ посвящСн созданию ΠΈΠ³Ρ€ Π½Π° Java. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LWJGL Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ этот процСсс. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ написанных Π½Π° Java ΠΈΠ³Ρ€ пСрСчислСны Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ 38 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π°Π½Π³Π».).

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ финансовыС прилоТСния

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ инвСстиционныС Π±Π°Π½ΠΊΠΈ Goldman Sachs, Citigroup, Barclays, Standard Charted ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java для написания Ρ„Ρ€ΠΎΠ½Ρ‚ ΠΈ бэк-офисов систСм элСктронной Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ, систСм расчСтов ΠΈ подтвСрТдСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. Π΄.

Π’Π΅Π±-прилоТСния Π½Π° Java

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

Π’Π°Π±Π»ΠΈΡ†Π°, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ использованиС языков программирования Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… тСхнологичСских компаниях (источник)

На Java создано мноТСство opensource-инструмСнтов для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ обновлСния Π΄Π°Π½Π½Ρ‹Ρ…. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Netflix ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Java ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ инфраструктуры Π½Π° Linux ΠΈ кодирования Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Windows-ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. Π’Π΅Π±-прилоТСния элСктронной ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Java Π½Π° Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΊΠ°ΠΊ Broadleaf.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для сопровоТдСниС ΠΊΠΎΠ΄Π°

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС – это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для программирования, Π°Π½Π°Π»ΠΈΠ·Π°, обслуТивания, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Eclipse, IntelliJ Idea ΠΈ IDE NetBeans.

ВстраиваСмыС систСмы Π½Π° Java

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык Java Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для встраиваСмых устройств. Π”Π΅Π²ΠΈΠ·ΠΎΠΌ Java Π±Ρ‹Π»ΠΎ «Напиши ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· – запускай Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎΒ». Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Java стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… языков для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IoT-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ВстроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Java ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы взаимодСйствия с сСрвСром, Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ бСзопасности пСсочницы обСспСчиваСт высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠΎΠ΄ΡƒΠ»ΠΈ Cinterion Java ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² срСдС мСТмашинного взаимодСйствия (M2M-machine to machine), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΠΌΠ½Ρ‹Π΅ счСтчики, систСмы управлСния Π°Π²Ρ‚ΠΎΠΏΠ°Ρ€ΠΊΠΎΠΌ, ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ мобильного здравоохранСния.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ – ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных Ρ‚Π΅ΠΌ Π² ΠΌΠΈΡ€Π΅ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. АвтоматичСская сборка мусора ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π΄Π΅Π»Π°ΡŽΡ‚ Java ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Ρ… языком для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² машинного обучСния. МногиС извСстныС срСдства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (Hadoop, Spark, Mahout) ΡΠ²Π»ΡΡŽΡ‚ΡΡ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ.

Square

Компания Square ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°ΠΌ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства Π² ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ систСмы. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Square построСно с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ruby ΠΈ C++, Π½ΠΎ стСк ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ основан Π½Π° Java.

Java – Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ СдинствСнный Π²Ρ‹Π±ΠΎΡ€, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ для Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ наша – с высокими трСбованиями ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями ΠΊ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π΅Ρ‚.

CTO ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΆΡƒΡ€Π½Π°Π»Ρƒ Wired

Hadoop

Π¦Π΅Π»ΠΈΠΊΠΎΠΌ написанная Π½Π° Java программная срСда Hadoop ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ³ΠΎ распрСдСлСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм.

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

CΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Apache Hadoop Π”ΡƒΠ³ ΠšΠ°Ρ‚Ρ‚ΠΈΠ½Π³

Twitter

Для Twitter Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ 500 ΠΌΠ»Π½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ начинался, ΠΊΠ°ΠΊ дСмонстрация Ρ‚ΠΎΠ³ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ способСн Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ruby on Rails. К соТалСнию, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ стало понятно, Ρ‡Ρ‚ΠΎ RoR ΠΏΠ»ΠΎΡ…ΠΎ справляСтся с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ большого числа запросов Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поиском ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ Ρ…Π΅ΡˆΡ‚Π΅Π³Π°ΠΌ. Одним ΠΈΠ· прСимущСств Java являСтся ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ – это послуТило ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с Ruby Π½Π° Java.

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ язык Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ 25 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, Java ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ остаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых вострСбованных языков. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ-Π³ΠΈΠ³Π°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Java Π² качСствС основного языка. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Java – нСпростая Π·Π°Π΄Π°Ρ‡Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ процСсс Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹ΠΌ ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ курсом Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

УчСбная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ‚Π΅ΠΌΡ‹: синтаксис Java, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. Π΄. Π’Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ основы Java, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Spring ΠΈ LibGDX, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Ρ… систСм. Для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

  • сСтСвой Ρ‡Π°Ρ‚;
  • кроссплатформСнная ΠΈΠ³Ρ€Π°;
  • ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;
  • ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½;
  • бизнСс-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π° основС вашСй ΠΈΠ΄Π΅ΠΈ.

ВсС эти ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ послуТат ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ для ΠΏΠΎΠ΄Π°Ρ‡ΠΈ заявки Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Онлайн-унивСрситСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ с трудоустройством.

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Java программистам / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽ Π½Π° Java Π²ΠΎΡ‚ ΡƒΠΆΠ΅ 7 Π»Π΅Ρ‚. Но Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ часто приходится ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. Π’ связи с этим ΠΈ Ρ€Π΅ΡˆΠΈΠ» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΡƒ, которая, надСюсь, пригодится ΠΈ для Ρ…Π°Π±Ρ€Ρ‡Π°Π½. Если ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‚ΠΎ ΠΏΠΈΡˆΠΈΡ‚Π΅! Π˜Ρ‚Π°ΠΊ:

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСсурсы для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ обучСния

  • www.javable.com β€” сайт со ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ ΠΈ tutorial’ΠΎΠΌ ΠΏΠΎ Java. ВсС Π² основном Π½Π° русском.
  • www.exampledepot.com β€” ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ рСсурс, Π³Π΄Π΅ собраны ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования классов для Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • java.sun.com β€” Π±Π΅Π· пСрвоисточника Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. Для любого Java программиста JavaDoc Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ истиной Π² послСднСй инстанции. Π’Π°ΠΊ ΠΆΠ΅ здСсь ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΡΠ΅Ρ€ΠΈΡŽ tutorial’ΠΎΠ² Π½Π° всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹.
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Java ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ список Java ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… программист Π΄ΠΎΠ»ΠΆΠ΅Π½ свободно ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π—Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ рСкомСндуСтся ΠΊΠ°ΠΊ ΠΏΠΎ JavaDoc’Π°ΠΌ, Ρ‚Π°ΠΊ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ www.exampledepot.com. ВсС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ выстроСны Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠΌ порядкС для изучСния. Π˜Ρ‚Π°ΠΊ:

  1. java.lang β€” основа основ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π² этом ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ нуТдаСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠΈ.
  2. java.io β€” Π½ΠΈ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ.
  3. java.util β€” ΠΏΠ°ΠΊΠ΅Ρ‚ Π² основном содСрТит всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями: Collection, Enumeration, Set, List, Map ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ.
  4. java.net β€” содСрТит основныС классы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚ΡŒΡŽ.
  5. java.text β€” всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для форматирования тСкста
  6. java.lang.reflect β€” Java Π½Π΅ Π±Ρ‹Π»Π° Π±Ρ‹ Java’ΠΎΠΉ Ссли Π±Ρ‹ Π½Π΅ Reflection. Reflection стираСт Π³Ρ€Π°Π½ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ.
  7. javax.sql β€” всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  8. javax.xml.*, org.w3c.dom.*, org.xml.sax.* β€” Π±Π΅Π· этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π° с XML просто нСмыслима
РСсурсы для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΡ€ΡƒΠ³ΠΎΠ·ΠΎΡ€Π°

  • onjava.com β€” Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ всС новости ΠΌΠΈΡ€Π° Java ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ сюда
  • www.javaspecialists.eu β€” рСсурс ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ программистам, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ содСрТит ΠΌΠ½ΠΎΠ³ΠΎ статСй ΠΎ тонкостях Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java.
  • www.theserverside.com β€” рСкомСндуСтся ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° RSS, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ часто ΠΏΡ€ΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°ΡŽΡ‚ вСсьма интСрСсныС Π²Π΅Ρ‰ΠΈ ΠΏΠΎ Java.
Java Π‘ΠΈΠ±Π»ΠΈΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ всС

Java Π½Π΅ заканчиваСтся знаниями лишь ΠΎ возмоТностях JSDK. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ дСсятка Π΄Π²Π° сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Java программистами повсСмСстно. Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ с основных:

  • Commons Lang β€” Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Β«Π·Π°Π±Ρ‹Π»ΠΈΒ» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² JDK
  • Commons Math β€” ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для java.math
  • Commons Logging β€” Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΌ. Π—Π° System.out.println для Π²Ρ‹Π²ΠΎΠ΄Π° Π»ΠΎΠ³ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам ΡƒΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСдСлю обучСния слСдуСт ΠΎΡ‚Ρ€ΡƒΠ±Π°Ρ‚ΡŒ Ρ€ΡƒΠΊΠΈ.
  • Commons Net β€” логичСскоС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠ°ΠΊΠ΅Ρ‚Π° java.net. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ классов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с основными сСтСвыми ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ.
  • Commons VFS β€” отличная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для абстрагирования ΠΎΡ‚ способа хранСния Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ достаточно ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ FTP, SFTP, WEBDAV, (G)ZIP ΠΈ Ρ‚.Π΄.
  • Commons IO β€” Ρ€Π°Π±ΠΎΡ‚Π° с Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ часто получаСтся вСсьма ΠΌΡƒΡ‚ΠΎΡ€Π½ΠΎΠΉ, Π½ΠΎ с этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ всС становится нСсколько вСсСлСС.
  • HttpClient β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с http рСсурсами.
  • JUnit β€” любой ΠΊΠΎΠ΄, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ тСстированиСм. Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.

На этом ΠΏΠΎΠΊΠ° всС. Если ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΈ ΠΏΠΎ Java Π²Π°ΠΌ интСрСсны, Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ свою ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Β«ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ…Β» Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ основныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Java.

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Π° Java

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° своих ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Java ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ вопрос — Ρ‡Ρ‚ΠΎ это Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°?

JavaΒ β€” это тСхнология, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… прямо Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

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

Но для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми этими прСимущСствами Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Ρ‹Π»Π° установлСна срСда Java. Π’ΠΎ Π΅ΡΡ‚ΡŒ это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Java-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ прямо Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Если срСда Π½Π΅ установлСна Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-прилоТСния ΠΈ Π²Π΅Π±-сайты просто Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² этом случаС ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Π²Π΅Π±-страницу, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Java-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, появляСтся сообщСниС ΠΎ нСобходимости ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Java. МногиС это Π΄Π΅Π»Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ вопросы Π²Ρ€ΠΎΠ΄Π΅: Β«Ρ‡Ρ‚ΠΎ это Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?Β», Β«ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠΎΠΏΠ°Π»Π° Π½Π° ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€?Β» ΠΈ «для Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°?Β»

Π’Π°ΠΊΠΆΠ΅ послС установки Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Java Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ появлСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ появятся, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

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

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частыС вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Java, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС — http://www.java.com

Π’Π°ΠΊΠΆΠ΅ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Java.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java Virtual Machine, ΠΈΠ»ΠΈ Π”ΠΆΠ°Π²Π° – это Π²Π°ΠΌ Π½Π΅ Π―Π²Π°!.. Π§Π°ΡΡ‚ΡŒ 1 | Π’Π΅Ρ…Π½ΠΈΠΊΠ° ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚

ВСхнология Java Π±Ρ‹Π»Π° создана ΠΊΠ°ΠΊ инструмСнт программирования Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Microsystems Π² 1991Β Π³.Β Π² Ρ€Π°ΠΌΠΊΠ°Ρ… нСбольшого Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«GreenΒ» (Β«Π—Π΅Π»Π΅Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β»).
«ЗСлСная ΠΊΠΎΠΌΠ°Π½Π΄Π°Β» ΠΈΠ· 13 ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ руководством ДТСймса Гослинга (James Gosling) Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° сутками Π½Π°ΠΏΡ€ΠΎΠ»Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ офисС Π½Π° Sand Hill Road Π² Π³. МСнло ΠŸΠ°Ρ€ΠΊ (ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΡ; ΠΎΠΏΡΡ‚ΡŒ Биликоновая Π΄ΠΎΠ»ΠΈΠ½Π°!), Π½Π΅ информируя ΠΎ своСй Ρ€Π°Π±ΠΎΡ‚Π΅ компанию Sun.

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Β«Π—Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹Β» ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΠΏΡ€Π΅Π΄Π²ΠΎΡΡ…ΠΈΡ‚ΠΈΡ‚ΡŒ Π³Ρ€ΡΠ΄ΡƒΡ‰ΡƒΡŽ Β«Π½ΠΎΠ²ΡƒΡŽ Π²ΠΎΠ»Π½ΡƒΒ» Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ исходили ΠΈΠ· прСдполоТСния, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· основных Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ развития Π±ΡƒΠ΄Π΅Ρ‚ сблиТСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ стал машинно-нСзависимый язык программирования, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«OakΒ» (Π”ΡƒΠ±).

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

Однако новаторство Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java оказалось вострСбованным для Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΠΈ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Π² 1995Β Π³.Β ΠΊΠΎΠΌΠ°Π½Π΄Π° Гослинга смогла ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ тСхнология Java Π±ΡƒΠ΄Π΅Ρ‚ использована Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ Netscape Navigator.

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

Π’ Ρ†Π΅Π»ΠΎΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Java ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом для сСтСвых Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сСгодня ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² 2,5 ΠΌΠ»Ρ€Π΄. устройств, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…:
β€’ Π±ΠΎΠ»Π΅Π΅ 700 ΠΌΠ»Π½. ПК;
β€’ Π±ΠΎΠ»Π΅Π΅ 1 ΠΌΠ»Ρ€Π΄. ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… устройств;
β€’ 1,25 ΠΌΠ»Ρ€Π΄. смарт-ΠΊΠ°Ρ€Ρ‚;
β€’ Π° Ρ‚Π°ΠΊΠΆΠ΅ тСлСприставки, ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΈΠ³Ρ€Ρ‹, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ систСмы Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹, мСдицинскоС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.
Π’ настоящСС врСмя Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Java ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ практичСски Π² Π»ΡŽΠ±Ρ‹Ρ… сСтях ΠΈ устройствах — ΠΎΡ‚ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΄ΠΎ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², ΠΎΡ‚ устройств модСлирования Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ€Π³ΠΎΠ² Π΄ΠΎ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… приставок ΠΈ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java Virtual Machine
Java Virtual Machine (Java VM, JVM)Β β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина JavaΒ β€” основная Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ систСмы Java, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Java Runtime Environment (JRE). Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ исполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ созданный ΠΈΠ· исходного тСкста Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ компилятором Java.

Π’ 1996Β Π³. компания Sun выпустила ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° «Голубая ΠΊΠ½ΠΈΠ³Π° JVMΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описана спСцификация Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, ΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ отраслСвым стандартом ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java. Благодаря этому Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ появились Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ JVM, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Β«Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ с чистого листа» (Π°Π½Π³Π». clean room design). Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти Kaffe.
Начиная с вСрсии J2SE 5.0 измСнСния Π² спСцификации JVM Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ поТСланиями заинтСрСсованных сторон. ΠŸΡ€ΠΎΡ†Π΅ΡΡ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² спСцификации JVM называСтся Java Community Process.

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ Java-тСрминология
β€’ Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина (virtual machine)Β β€” абстрактноС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами: Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Π² Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ происходит ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΒ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ компиляция Π² Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора.

β€’ Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° (Java Platform)Β β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java ΠΈ стандартныС классы ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ интСрфСйс нСзависимо ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

β€’ Java Remote Method Invocation (JRMI)Β β€” интСрфСйс Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². РаспрСдСлСнная ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ производится Π²Ρ‹Π·ΠΎΠ² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java.

β€’ Java Runtime Environment (JRE)Β β€” срСда исполнСния Java. ΠŸΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Java Development Kit, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. JRE состоит ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java (JVM), стандартных классов Java ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

β€’ Java Virtual Machine (JVM)Β β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java, Ρ‡Π°ΡΡ‚ΡŒ срСды исполнСния Java, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ Java Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. Java Virtual Machine спСцифицируСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Π½Π°Π±ΠΎΡ€ΠΎΠΌ рСгистров, стСком, сборщиком мусора ΠΈ пространством хранСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

β€’ Java Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ (Java bytecode)Β β€” машинно-нСзависимый ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Java-компилятор. Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ выполняСтся Java-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ стСковая: Π½Π΅ трСбуСтся слоТная адрСсация ячССк памяти ΠΈ большоС количСство рСгистров. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ JVM ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ 1 Π±Π°ΠΉΡ‚, ΠΎΡ‚Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ JVM Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°ΠΌΠΈ (bytecodes), хотя ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄Π»ΠΈΠ½ΠΎΠΉ 2 ΠΈ 3 Π±Π°ΠΉΡ‚Π° (срСдняя Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ составляСт 1,8 Π±Π°ΠΉΡ‚Π°).
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° языкС Java, пСрСводится компилятором Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ записываСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π²ΠΎ внСшнСй памяти ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ сСти. Π­Ρ‚ΠΎ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ благодаря Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ² с Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌ систСму, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ JVM (Π² Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ПК). Π’Π°ΠΊ рСализуСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Java: Β«Write once, run anywhere» — «Написано ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, выполняСтся Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎΒ».

β€’ Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ (Java applets)Β β€” Java-прилоТСния, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ЯвляСтся Π»ΠΈ Java Π»ΡƒΡ‡ΡˆΠΈΠΌ языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…? / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Is Java The Best Programming language to Learn First?Β» Π°Π²Ρ‚ΠΎΡ€Π° Javin Paul.

Часто ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ вопросы, Π²Ρ€ΠΎΠ΄Π΅: «Какой язык программирования ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ?Β», Β«Java-Ρ‚ΠΎΡ‚ самый язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ стоит Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ?Β», «Насколько Java Ρ…ΠΎΡ€ΠΎΡˆ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования?Β», Β«ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· языков программирования самый подходящий для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…?Β» ΠΈΠ»ΠΈ Β«ΠΠ°Ρ‡Π°Ρ‚ΡŒ с Java ΠΈΠ»ΠΈ Python?Β».

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

По ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, самая вСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½Π°Ρ‡Π°Π»Π° программирования Π½Π° Java ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π΅Π³ΠΎ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка – Java ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅.


НСкоторыС ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅ Java ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ компиляции, Π½ΠΎ Π»ΠΈΡ‡Π½ΠΎ я Π½Π°Ρ…ΠΎΠΆΡƒ Java языком, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ (ΠΌΠ½ΠΎΠ³ΠΎ Π»Ρ‘Π³ΠΊΠΈΠΌ для чтСния ΠΈ понимания).

ПослСднСС ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ программистов Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ с БСйсика ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»ΠΎ Π½Π° C ΠΈ C++ с Java Π² качСствС своСго Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ языка программирования.

Одной ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для этого ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ C ΠΈ C++ Π±Ρ‹Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ вострСбованными Π² Ρ‚Π΅ Π΄Π½ΠΈ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Java. Но Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ учСбная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° построСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ нас ΠΎΠ±ΡƒΡ‡Π°Π»ΠΈ C ΠΈ C++, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΠ³Π΄Π° Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ Python, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π² нашСм ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅.

И ΠΏΡ€Π°Π²Π΄Π°, часто Π½Π°ΠΌ Π½Π΅ приходится Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, ΠΈ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ Π² школС ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΌΠΎΡ‘ врСмя C Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ языком программирования Π² нашСм ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅, ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ C++, VB, VC++, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Java.

БСйчас я Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Java ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ, Π½ΠΎ помню, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΎΠ½ слоТнСС ΠΏΠΎ синтаксису ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C++, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ System.out.println() вмСсто ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ записи cout для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти сообщСниС Π½Π° экран, ΠΎΠ΄Π½Π°ΠΊΠΎ это просто ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ нСудобство.

Когда я Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, я Π½Π°ΡˆΡ‘Π» ΠΊΠΎΠ΄ Π½Π° Java Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄. Π’ Java ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ поиск ошибок Π±Ρ‹Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅, Ρ‡Π΅ΠΌ Π² C++ ΠΈΠ»ΠΈ C.

ΠšΡΡ‚Π°Ρ‚ΠΈ говоря, я ΡƒΡ‡ΡƒΡΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ скаТСтС, настоящСму ΠΊΠΎΠ΄ΠΈΠ½Π³Ρƒ Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. ИмСнно Ρ‚ΠΎΠ³Π΄Π° я ΠΈ Π½Π°Ρ‡Π°Π» ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java.

Java – язык программирования, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ стоит Π½Π°Ρ‡Π°Ρ‚ΡŒ?



НСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я ΡΡ‡ΠΈΡ‚Π°ΡŽ Java подходящим языком программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π½Ρ‘ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄:

  1. Java ΠΏΡ€ΠΎΡ‰Π΅, синтаксис Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‡Π΅ΠΌ синтаксис C, C++ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка.
  2. Π―Π·Ρ‹ΠΊ Java Ρ…ΠΎΡ€ΠΎΡˆ для изучСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, Π½ΠΎ Π½Π΅ для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΎΠ½ уступаСт C. ООП ΠΈΠ»ΠΈ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ справляСтся со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния. ΠŸΡ€ΠΎΡ‰Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния класса ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  3. Java ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ API, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π² Java, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π·Π²ΡƒΠΊΠΎΠΌ ΠΈ, Ρ‡Ρ‚ΠΎ всСго вСроятнСС, ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшиС ΠΈΠ³Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Нолики, ВСтрис ΠΈ Π΄Ρ€. НС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π²Π°ΠΌ придётся часто Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‡Ρ‚ΠΎ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ программиста Ρ€Π°Π±ΠΎΡ‚Π° нСпростая. Когда Π²Ρ‹ устанавливаСтС Java, большая Ρ‡Π°ΡΡ‚ΡŒ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ устанавливаСтся ΡƒΠΆΠ΅ Π² процСссС установки языка.
  4. Java ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сообщСства, Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° вопросы, сомнСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ, Google смоТСт Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. Если Π½Π΅ Google, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Stack Overflow, Ρ„ΠΎΡ€ΡƒΠΌΡ‹ Java ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… сообщСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ самая главная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Java, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ с мноТСством Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ основы программирования ΠΈ сам Java. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² насчитываСтся нСсколько ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΈ оказываСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства, всСго вСроятнСС Π²Ρ‹ быстро ΠΎΡ‚Ρ‹Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π².
  5. Java – строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ исправляСт мноТСство ошибок, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈ программистами. Π’Π°ΠΊΠΆΠ΅, Π² мСньшСй ΠΌΠ΅Ρ€Π΅, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ сначала Java, Π° Π½Π΅ Python, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Python – язык с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°Π΅Ρ‚.
  6. Java устанавливаСтся со встроСнным Garbage collection (автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹), Ρ‡Ρ‚ΠΎ являСтся большим плюсом для Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ – это большоС Π΄Π΅Π»ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Π­Ρ‚ΠΎ Ρ‚Π΅ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ слСдуСт сначала ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Java ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык программирования. Π― ΠΌΠΎΠ³Ρƒ Π±Ρ‹Ρ‚ΡŒ прСдвзятым, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Java-программист, Π½ΠΎ я Ρ‚Π°ΠΊΠΆΠ΅ знаю Python ΠΈ я Ρ‚Π°ΠΊΠΆΠ΅ занимался ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° C ΠΈ C++.

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

Достаточно Π»ΠΈ Java для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ программиста?



Вопрос Π½Π΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΈ языков программирования, Π½Π΅Ρ‚. Как программист, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ структура Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, скрипты ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. А Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык ΡƒΡ‡ΠΈΡ‚ вас Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Java, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Scala, JavaScript ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ скриптовыС языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Бамая большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² этой сфСрС β€” Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΡƒΡŽ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ программиста. Если Π²Ρ‹ Π»ΡŽΠ±ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ осваиваСтС Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ языки программирования, Ρ‚ΠΎ эта сфСра для вас.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ программистом, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π²Ρ‹ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Π½Π° ΡƒΠΌΠ΅Π½ΠΈΠΈ логичСски ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ.

Если Π²Ρ‹ Π΄Ρ€ΡƒΠΆΠΈΡ‚Π΅ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, основанный Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ доступной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π° ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки Π² ΠΊΠΎΠ΄Π΅.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE), ΠΊΠ°ΠΊ Eclipse, NetBeans ΠΈΠ»ΠΈ IntelliJ IDEA ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты Java Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² написании ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

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

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅, Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Java Π² качСствС своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования, ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΅Π³ΠΎ освоитС, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JavaScript ΠΈΠ»ΠΈ Python.

Java EE | Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java EE

ПослСднСС обновлСниС: 08.08.2018

Java EE ΠΈΠ»ΠΈ Java Enterprise Edition прСдставляСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Java. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго
это сфСра Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅Π±-сСрвисов.

Java EE состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° API ΠΈ срСды выполнСния. НСкоторыС ΠΈΠ· API:

  • Java Servlets. Π‘Π΅Ρ€Π²Π»Π΅Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ запросы
    ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

  • JavaServer Pages (JSP). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° сторонС сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ запросы. Π£Π΄ΠΎΠ±Π½Ρ‹ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
    большого ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° HTML. По сути ΠΏΡ€Π΅Π΄ΡΡ‚Π²Π»ΡΡŽΡ‚ собой страницы с ΠΊΠΎΠ΄ΠΎΠΌ HTML/JavaScript/CSS с вкраплСниями ΠΊΠΎΠ΄Π° Π½Π° Java

  • Enterprise JavaBeans (EJB) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ.

  • Contexts and Dependency Injection (CDI) прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для внСдрСния ΠΈ управлСния зависимостями Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

  • JSON Processing (JSON-P) позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строками JSON Π² Java

  • JSON Binding (JSON-B) прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для сСриализации ΠΈ дСсСриализации JSON Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Java.

  • WebSocket позволяСт ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ WebSocket Π² прилоТСния Π½Π° Java.

  • Java Message Service (JMS) — API для пСрСсылки сообщСний ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ.

  • Security API — API для стандартизации ΠΈ упрощСния Π·Π°Π΄Π°Ρ‡ обСспСчСния бСзопасности Π² прилоТСниях Π½Π° Java.

  • Java API for RESTful Web Services (JAX-RS) — API для примСнСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ REST Π² прилоТСниях.

  • JavaServer Faces (JSF) прСдоставляСт возмоТности для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π½Π° сторонС сСрвСра.

Π­Ρ‚ΠΈ ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… API сообствСнно ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ называСтся Java EE. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π² срСдС Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java популярна Π΅Ρ‰Π΅
ΠΎΠ΄Π½Π° тСхнология Spring. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Java EE ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ созданию Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Java.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития

ΠŸΡ€Π΅Π΄Ρ‚Π΅Ρ‡Π΅ΠΉ Java EE Π±Ρ‹Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ JPE Project, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стартовал Π² ΠΌΠ°Π΅ 1998 Π³ΠΎΠ΄Π°. А Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 1999 Π³ΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅Π» Ρ€Π΅Π»ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Enterprise
Java Platform (J2EE 1.2), которая объСдиняла Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ сСрвлСты, JSP, EJB, JMS. Π’ 2006 Π³ΠΎΠ΄Ρƒ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ 5-ΠΉ вСрсии ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π°
Π² Java Enterprise Edition (JEE). Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ пСриодичСски выходят Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ПослСдняя тСкущая вСрсия — Java EE 8
Π²Ρ‹ΡˆΠ»Π° Π² сСнтябрС 2017 Π³ΠΎΠ΄Π°.

Π’ 2017 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° новая Π²Π΅Ρ…Π° Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Oracle ΠΏΠ΅Ρ€Π΅Π΄Π°Π» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Java EE ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ
Eclipse Foundation. А Π² Π°ΠΏΡ€Π΅Π»Π΅ 2018 Π³ΠΎΠ΄Π° Java EE Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² Jakarta EE.

Π’ Π½Π°Ρ‡Π°Π»Π΅ 2019 Π³ΠΎΠ΄Π° оТидаСтся Π²Ρ‹Ρ…ΠΎΠ΄ Π½ΠΎΠ²ΠΎΠΉ вСрсии Jakarta/Java EE.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ https://jakarta.ee/.

Установка IDE

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java EE Π½Π°ΠΌ потрСбуСтся срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ IDE. Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΠΊΡƒ ΠΏΠΎΠ΄ Java.
Π­Ρ‚ΠΎ IntelliJ IDEA, NetBeans ΠΈ Eclipse. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π° протяТСнии всСго руководства ΠΌΡ‹ прСимущСствСнно Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Eclipse, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° являСтся бСсплатной ΠΈ довольно ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСна.

Для Π½Π°Ρ‡Π°Π»Π° установим послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Eclipse, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу https://www.eclipse.org/downloads/.
На страницС Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π½Π°ΠΉΠ΄Π΅ΠΌ рядом с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии Eclipse ΠΊΠ½ΠΎΠΏΠΊΡƒ «Download» ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° Π½Π΅Π΅.

ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ нас ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ собствСнно Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Download» для Π·Π°Π³Ρ€Π·ΡƒΠΊΠΈ установочного ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

ПослС Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ установки запустим Π΅Π΅ ΠΈ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ²ΡˆΠ΅ΠΌΡΡ спискС ΠΎΠΏΡ†ΠΈΠΉ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Eclipse IDE for Java EE Developers:

Π”Π°Π»Π΅Π΅ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ для установки (ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Ρ… соглашСний, ΠΈ срСда Π±ΡƒΠ΄Π΅Ρ‚ установлСна.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java? Руководство ΠΏΠΎ Java ΠΈ Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java? Java — это кроссплатформСнный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Sun Microsystems Π² 1995 Π³ΠΎΠ΄Ρƒ. БСгодня Java Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для запуска Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ³Ρ€Ρ‹, прилоТСния для ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй, Π°ΡƒΠ΄ΠΈΠΎ- ΠΈ Π²ΠΈΠ΄Π΅ΠΎ-прилоТСния ΠΈ Ρ‚. Π”.

In Π’ этом Π±Π»ΠΎΠ³Π΅ я Π±Ρ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Java?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΌ слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Java.Он ΠΎΡ‡Π΅Π½ΡŒ популярСн ΠΈ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π» Π² этой области с Π½Π°Ρ‡Π°Π»Π° 2000-Ρ… ΠΏΠΎ настоящСС врСмя 2018.

НСкоторыС ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ пСрСчислСны Π½ΠΈΠΆΠ΅:

  • БанковскоС Π΄Π΅Π»ΠΎ : для управлСния транзакциями.
  • Retail : ΠŸΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ / рСсторанС, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написаны Π½Π° Java.
  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ : Java ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ зависимостСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Android : прилоТСния Π»ΠΈΠ±ΠΎ написаны Π½Π° Java, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java API.
  • ЀинансовыС услуги : Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сСрвСрных прилоТСниях.
  • Π€ΠΎΠ½Π΄ΠΎΠ²Ρ‹ΠΉ Ρ€Ρ‹Π½ΠΎΠΊ : для написания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΡƒΡŽ компанию ΠΈΠΌ слСдуСт ΠΈΠ½Π²Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ : Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Hadoop MapReduce написан с использованиСм Java.
  • Научно-ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ сообщСство : Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ объСмом Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅! Java ΠΌΠΎΠΆΠ΅Ρ‚ большС.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java Π² качСствС основного ядра своих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java Π² качСствС основного ядра своих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Java — это ΠΎΠΊΠ΅Π°Π½ возмоТностСй .

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Java.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Java — это язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ДТСймс Гослинг с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Майк Π¨Π΅Ρ€ΠΈΠ΄Π°Π½ ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ Нотон , Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Green Team Π² 1995 для Sun Microsystems для Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½Ρ‹Π΅ приставки, Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Ρ‹ ΠΈ Ρ‚. Π΄.Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ исслСдуСм язык.

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

Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° C ++, Π½ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ функциями. Π­Ρ‚ΠΎΡ‚ язык являСтся бСсплатным для доступа ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… .

Java — это: —

  • Concurrent , Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.
  • Π½Π° основС классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования .
  • НСзависимый язык программирования , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт Π»ΠΎΠ³ΠΈΠΊΠ΅ Β« однократная запись, запуск Π² любом мСстС Β», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ скомпилированный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… java.

ΠŸΡ€ΠΎΡ‰Π΅ говоря, это Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· это занятиС, Π³Π΄Π΅ наш экспСрт Certification Training ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ объяснил Ρ‚Π΅ΠΌΡ‹ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ.

ВозмоТности

ΠŸΡ€ΠΎΡΡ‚ΠΎ: Java упростила Тизнь, устранив всС слоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² C ++ ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС программирования.

Portable: Π­Ρ‚ΠΎ Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, написанноС Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ пСрСнСсСно Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ: ВсС рассматриваСтся ΠΊΠ°ΠΊ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ состояниСм, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с использованиСм этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

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

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

РаспрСдСлСнный: Π­Ρ‚ΠΎΡ‚ язык прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ распрСдСлСнныС прилоТСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (RMI), ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² сСти ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ: Java ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ систСму управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² устранСнии ошибок, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ провСряСт ΠΊΠΎΠ΄ Π²ΠΎ врСмя компиляции ΠΈ выполнСния.

Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Java обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π° счСт использования Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Благодаря использованию компиляторов JIT (Just-In-Time) ΠΎΠ½ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ : Java компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ срСдой выполнСния.

ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ : Java ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² выполнСния (a.k.a., лСгковСсныС процСссы), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² синхронизации. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

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

Π­Ρ‚ΠΎ абстрактная машина. Π­Ρ‚ΠΎ спСцификация, которая обСспСчиваСт срСду выполнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Он слСдуСт Π·Π° трСмя нотациями:

  • БпСцификация : это Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ JVM.ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ Sun ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ компаниями.
  • РСализация : Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ трСбованиям спСцификации JVM.
  • ЭкзСмпляр срСды выполнСния : ЭкзСмпляр JVM создаСтся всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ запускаСтС класс.

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

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

JDK (Java Development Kit)

Π­Ρ‚ΠΎ инструмСнт, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для: —

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ
  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚
  • ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java.

JDK ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JRE, которая содСрТит инструмСнты для программистов. ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСдоставляСтся бСсплатно. Наряду с JRE, ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ / Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, компилятор (javac), Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ (jar), Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java.ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, ΠΎΠ½ содСрТит инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JRE +.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ поняли основы этого ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ языка, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с курсом Java Certification Training ΠΎΡ‚ Edureka, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-обучСния с ΡΠ΅Ρ‚ΡŒΡŽ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 250 000 Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ², разбросанных ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. глобус. ΠšΡƒΡ€Ρ обучСния ΠΈ сСртификации ΠΏΠΎ Java J2EE ΠΈ SOA ΠΎΡ‚ Edureka ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для студСнтов ΠΈ профСссионалов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.ΠšΡƒΡ€Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Ρ„ΠΎΡ€Ρƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ основным, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ концСпциям, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Hibernate ΠΈ Spring.

Π•ΡΡ‚ΡŒ ΠΊ Π½Π°ΠΌ вопрос? ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ это Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² этом Π±Π»ΠΎΠ³Π΅, ΠΈ ΠΌΡ‹ свяТСмся с Π²Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС.

.

JAVA Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ | Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JAVA?

Главная »БРОК» J Β»

Π­Π±Π±ΠΈ Дайкс

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

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

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Java

Π―Π·Ρ‹ΠΊ программирования Java состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

  • Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java (JVM): JVM — это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт срСду выполнСния для управлСния ΠΊΠΎΠ΄ΠΎΠΌ Java ΠΈΠ»ΠΈ прилоТСниями.Он являСтся Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ языка программирования ΠΈ выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ прСобразования Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Java Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. Он прСдоставляСт мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ инструмСнтов.

  • Π‘Ρ€Π΅Π΄Π° выполнСния Java (JRE): JRE — это срСда выполнСния, которая трСбуСтся для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½Π° Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна ​​JRE. Π­Ρ‚ΠΎ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ установлСнная JRE Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ совмСстима с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

  • Java Development Kit (JDK): JDK — это основной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ срСды Java. Он содСрТит JRE вмСстС с компилятором Java, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ классами. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ исполняСмыС ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнты для компиляции ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Java

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

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

Π‘Π°ΠΌΡ‹Π΅ популярныС вопросы, связанныС с Java

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java IDL?

2.Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java-Π°ΠΏΠΏΠ»Π΅Ρ‚?

3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JavaBeans?

4. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JavaScript?

5. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JDBC (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Java)?




ΠΠžΠ’ΠžΠ‘Π’Π˜ Π’Π•Π‘ΠžΠŸΠ•Π”Π˜Π˜

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π² курсС послСдних событий Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ бСсплатного ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½Ρ Webopedia. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ сСйчас.

.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java? Ultimate Guide for Programmers

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • Database Testing
      • ETL Testing
      • 000 J2000

      • LoadRunner
      • Π ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС
      • МобильноС тСстированиС
      • Mantis
      • ΠŸΠΎΡ‡Ρ‚Π°Π»ΡŒΠΎΠ½
      • QTP
      • Назад
      • Π¦Π΅Π½Ρ‚Ρ€ качСства (ALM) So
      • RPA
      • SAP4 Testing Management
      • TestLink
  • SAP

      • Назад
      • ABAP
      • APO
      • ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • MMO
      • HANA
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
      • ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ
      • Successfactors
      • SAP Tutorials

    000

  • Web

  • AngularJS
  • ASP.Net
  • C
  • C #
  • C ++
  • CodeIgniter
  • Π‘Π£Π‘Π”
  • JavaScript
  • Назад
  • Java
  • JSP
  • Kotlin
  • Linux
  • Linux
  • Kotlin
  • Linux
  • js

  • Perl
  • Назад
  • PHP
  • PL / SQL
  • PostgreSQL
  • Python
  • ReactJS
  • Ruby & Rails
  • Scala
  • SQL
  • 000

  • SQL
  • 000

    0003 SQL

    000

    0003 SQL

    000

  • UML
  • VB.Net
  • VBScript
  • Π’Π΅Π±-слуТбы
  • WPF
  • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Π΅!

      • Назад
      • БухгалтСрский ΡƒΡ‡Π΅Ρ‚
      • Алгоритмы
      • Android
      • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½
      • Business Analyst
      • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-сайта
      • CCNA
      • ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния
      • 00030003 COBOL 9000 Compiler
          9000 ВстроСнныС систСмы

        • 00030002 9000 Compiler 9000
        • Ethical Hacking
        • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Excel
        • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go
        • IoT
        • ITIL
        • Jenkins
        • MIS
        • Π‘Π΅Ρ‚ΡŒ
        • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма
        • Назад
        • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠžΠ±Π·ΠΎΡ€Ρ‹
        • Salesforce
        • SEO
        • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
        • VB A
    • Big Data

        • Назад
        • AWS
        • BigData
        • Cassandra
        • Cognos
        • Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
        • 0003

        • HBOps
        • 0003

        • HBOps
        • 0003

        • MicroStrategy

    .

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

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

    Java — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Sun Microsystems Π² 1995 Π³ΠΎΠ΄Ρƒ. Oracle ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Sun Microsystems Π² 2010 Π³ΠΎΠ΄Ρƒ ΠΈ Π² настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ выпуск ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ языка программирования Java.

    Java-прилоТСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ Write-Once-Run-Everywhere . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скомпилированный ΠΊΠΎΠ΄ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС.

    НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Java Π² Windows, Π° Π·Π°Ρ‚Π΅ΠΌ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² систСмах Linux ΠΈ Mac OS.

    Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ· списка Fortune 500. Π­Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ самый ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык для сСрвСрного программирования ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    ΠšΠ°ΠΊΠΎΠ²Ρ‹ прСимущСства программирования Π½Π° Java?

    • Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ всС. Π•ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 3 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² устройств, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Java.
    • Java бСсплатна ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄.Π£ Π½Π΅Π³ΠΎ отличная докумСнтация ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства.
    • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ практичСски любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Java. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ слуТСбныС прилоТСния, Π²Π΅Π±-прилоТСния, Π²Π΅Π±-слуТбы, распрСдСлСнныС ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ прилоТСния Π½Π° Java.
    • На Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ мноТСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Spring для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅Π±-сСрвисов, JUnit / TestNG для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования, Log4J для вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ Ρ‚. Π”. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих срСд ΡΠ²Π»ΡΡŽΡ‚ΡΡ бСсплатными ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄.
    • Java позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ прилоТСния.Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ прСимущСства послСдних тСхнологичСских достиТСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, эффСктивноС использованиС многоядСрных процСссоров.

    ΠšΠ°ΠΊΠΎΠ²Ρ‹ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Java?

    Π’Ρ€ΠΈ основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Java:

    1. JDK : Java Development Kit являСтся основным ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ срСды Java ΠΈ прСдоставляСт всС инструмСнты, исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для компиляции, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java.
    2. JVM : Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java — это сСрдцС языка программирования Java.Когда ΠΌΡ‹ запускаСм Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, JVM ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² машинно-зависимый ΠΊΠΎΠ΄. JVM зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ обСспСчиваСт основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Java, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, сборка мусора, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. Π”.
    3. JRE : Java Runtime Environment — это рСализация JVM. Он прСдоставляСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для выполнСния Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. JRE состоит ΠΈΠ· JVM, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java.

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

    Java Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ДТСймсом Гослингом Π² Sun Microsystems.Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ использования Π² 1995 Π³ΠΎΠ΄Ρƒ. Java 13 — это тСкущая ΠΈ послСдняя вСрсия Java. Начиная с Java 10, ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 6 мСсяцСв выпускаСтся новая основная вСрсия.

    ВСрсия Π”Π°Ρ‚Π° выпуска Π’Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    JDK Beta 1995 ΠŸΠ΅Ρ€Π²Π°Ρ Π±Π΅Ρ‚Π°-вСрсия
    Java 1.0 23 января 1996 Π³. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ общСдоступный выпуск. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Java 1.0.2 называСтся Java 1.
    Java 1.1 19 фСвраля 1997 Π³.
    • Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ классы
    • Java Beans
    • JDBC
    • RMI
    Java 1.2 8 дСкабря 1998 Π³.
    • Swing
    • JIT-компилятор
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
    Java 1.3 8 мая 2000 г.
    Java 1.4 6 фСвраля 2002 Π³.
    • УтвСрТдСния
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ RegEx
    • Image IO API
    • XML Parser
    • XSLT Processor
    • Preferences API
    Java 5 30 сСнтября 2004 Π³.
    • Generics
    • для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°
    • Varargs
    • Autoboxing
    • Enum
    • Annotations
    • Static import
    Java 6 11 дСкабря 2006
    • JAXB 2
    • JDBC 4.0 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ
    Java 7 7 июля 2011 г.
    • Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… switch
    • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ с рСсурсом
    • ΠŸΠ°ΠΊΠ΅Ρ‚ Java NIO
    • Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹
    • ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡƒΠ»ΠΎΠ²Π΅ Π±Π»ΠΎΠΊ
    Java 8 18 ΠΌΠ°Ρ€Ρ‚Π° 2014 Π³.
    • ΠœΠ΅Ρ‚ΠΎΠ΄ forEach () Π² интСрфСйсС Iterable
    • ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² интСрфСйсах
    • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы ΠΈ лямбда-выраТСния
    • Stream API
    • New Date Time API
    Java 9 21 сСнтября 2017 Π³.
    • JShell
    • ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ систСма — Project Jigsaw
    • Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ
    • HTTP 2 ΠšΠ»ΠΈΠ΅Π½Ρ‚
    Java 10 20 ΠΌΠ°Ρ€Ρ‚Π° 2018 Π³. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ -Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    Java 11 25 сСнтября 2018 Π³.
    • Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
    • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½ΠΎΠ²ΠΎΠ³ΠΎ класса String
    • var для лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
    Java 12 19 ΠΌΠ°Ρ€Ρ‚Π° 2019 Π³.
    • Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора Shenandoah
    • Teeing Collectors
    • НовыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² классС String
    • Switch Expressions
    Java 13 17 сСнтября 2019
    • ВСкстовыС Π±Π»ΠΎΠΊΠΈ
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Switch
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ рСализация Socket API

    Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ я Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Java Π² 2019 Π³ΠΎΠ΄Ρƒ?

    Π”Π°, Java ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ остаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных языков программирования.Богласно опросу Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² StackOverflow 2019, Π΅Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ Python. Π­Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ самый ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык программирования для сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    .

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

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