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

Π—Π°Ρ‡Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒ Java ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ это эффСктивно. Π”ΠΎΠΊΠ»Π°Π΄ ЯндСкса / Π₯Π°Π±Ρ€

Π§Π΅ΠΌ Java отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных языков? ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Java ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ языком для изучСния? Π”Π°Π²Π°ΠΉΡ‚Π΅ составим ΠΏΠ»Π°Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Java ΠΊΠ°ΠΊ с нуля, Ρ‚Π°ΠΊ ΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ созданиСм ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½-ΠΊΠΎΠ΄Π° Π½Π° Java ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. ΠœΠΈΡ…Π°ΠΈΠ» ЗатСпякин ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» этот Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° встрСчС для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… участников стаТировки ЯндСкса ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” Java Junior meetup.

β€” ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ Миша. Π― Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· ЯндСкс.ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π°, ΠΈ сСгодня я расскаТу Π²Π°ΠΌ, Π·Π°Ρ‡Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒ Java ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ это эффСктивно. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΠΎΠ½Π½Ρ‹ΠΉ вопрос: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ я, Π° Π½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с ΠΊΡƒΡ‡Π΅ΠΉ Π»Π΅Ρ‚ стаТа? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я сам ΠΈΠ·ΡƒΡ‡Π°Π» Java Π½Π΅Π΄Π°Π²Π½ΠΎ, Π³ΠΎΠ΄Π° ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° Π½Π°Π·Π°Π΄, поэтому Π΅Ρ‰Π΅ помню, ΠΊΠ°ΠΊ это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ.

Π“ΠΎΠ΄ Π½Π°Π·Π°Π΄ я ΠΏΠΎΠΏΠ°Π» Π½Π° стаТировку Π² ЯндСкс.ΠœΠ°Ρ€ΠΊΠ΅Ρ‚. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» бэкСнд для Β«Π‘Π΅Ρ€ΡƒΒ», для самого ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π°, Π²Ρ‹ навСрняка ΠΈΠΌ пользовались. БСйчас ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽ Ρ‚Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ЯндСкс.ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π° для бизнСс-ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ².

Π”Π°Π²Π°ΠΉΡ‚Π΅ приступим. Π—Π°Ρ‡Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒ Java с практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Java β€” это ΠΎΡ‡Π΅Π½ΡŒ извСстный язык программирования. Π£ Π½Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ большоС ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ.

НапримСр, Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ TIOBE-индСкс, популярный индСкс популярности языков программирования, ΠΈ Java Ρ‚Π°ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто. Π’Π°ΠΊΠΆΠ΅ Π½Π° сайтах с вакансиями Π²Ρ‹ навСрняка Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ вакансий β€” ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΎ Java, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ разрабатывая Π½Π° Java, Π²Ρ‹ всСгда смоТСтС Π½Π°ΠΉΡ‚ΠΈ сСбС Ρ€Π°Π±ΠΎΡ‚Ρƒ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΎΡ‡Π΅Π½ΡŒ большоС, Π½Π° любой ваш вопрос найдСтся ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Stack Overflow ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сайтах. А Π΅Ρ‰Π΅, разрабатывая Π½Π° Java, Π²Ρ‹, Π½Π° самом Π΄Π΅Π»Π΅, ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ ΠΏΠΎ JVM, поэтому смоТСтС Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΡΡ‚ΡŒ Π½Π° Kotlin, Scala ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ JVM.

Π§Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠ° Java с идСологичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния? Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ языки программирования. Они Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²Ρ‹ это Π·Π½Π°Π΅Ρ‚Π΅. НапримСр, Π½Π° Python ΠΎΡ‡Π΅Π½ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ однострочныС скрипты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ быстрых Π·Π°Π΄Π°Ρ‡.

На ΠΏΠ»ΡŽΡΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исполняСмый ΠΊΠΎΠ΄. НапримСр, Ρƒ нас Сздят машинки, бСспилотныС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ЯндСкса, ΠΈΡ… ΠΊΠΎΠ΄ написан Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ…. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π£ Java Π΅ΡΡ‚ΡŒ такая ΡˆΡ‚ΡƒΠΊΠ° β€” Garbage Collector. Она ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚Π° ΡˆΡ‚ΡƒΠΊΠ° запускаСтся спонтанно ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ stop-the-world, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ останавливаСт всю ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΈΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Если такая ΡˆΡ‚ΡƒΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² бСспилотникС, это Π½Π΅ ΠΊΡ€ΡƒΡ‚ΠΎ. Π’Π°Ρˆ бСспилотник Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ…Π°Ρ‚ΡŒ прямо, Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄ΠΎΡ€ΠΎΠ³Ρƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ бСспилотник написан Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ….

КакиС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Java? Π­Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ, дСсятками ΠΈΠ»ΠΈ сотнями людСй. Π’ частности, ΠΌΠ½ΠΎΠ³ΠΎ бэкСнда Π² ЯндСкс.

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π΅ написано Π½Π° Java. Π£ нас распрСдСлСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π³ΠΎΡ€ΠΎΠ΄Π°Ρ…, ΠΏΠΎ Π΄Π΅ΡΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ. И ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΎΠ½ поддСрТиваСтся ΡƒΠΆΠ΅ Π΄Π΅ΡΡΡ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Ρ‚, ΠΈ ΠΏΡ€ΠΈ этом приходят Π½ΠΎΠ²Ρ‹Π΅ люди, Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² этом ΠΊΠΎΠ΄Π΅.

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

Π’Π°ΠΊΠΆΠ΅ сущСствуСт ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Java, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ языку ΡƒΠΆΠ΅ большС 15 Π»Π΅Ρ‚. Π—Π° это врСмя Π½Π° Π½Π΅ΠΌ Π±Ρ‹Π»ΠΎ написано всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ написано, поэтому Π΅ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для всСго, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ.

Какими основными скиллами, Π½Π° ΠΌΠΎΠΉ взгляд, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ дТавист? Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, это Π·Π½Π°Π½ΠΈΠ΅ языка Java core. Π”Π°Π»Π΅Π΅ это ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Dependency Injection Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. ΠŸΡ€ΠΎ это Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ ΠšΠΈΡ€ΠΈΠ»Π». Π― особо ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Π”Π°Π»Π΅Π΅ это Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. Нам Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ красивый ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ большиС прилоТСния. И это ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ SQL ΠΈΠ»ΠΈ ORM для Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ. И это большС касаСтся бэкСнда.

ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ! Java core. Π’ΡƒΡ‚ я особо АмСрику Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΡŽ β€” Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ сам язык. На Ρ‡Ρ‚ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Java Π²Ρ‹ΡˆΠ»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вСрсий Π·Π° послСдниС Π³ΠΎΠ΄Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² 2014-2015 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»Π° сСдьмая, ΠΏΠΎΡ‚ΠΎΠΌ восьмая, дСвятая, дСсятая, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… вСрсий, ΠΈ Π² Π½ΠΈΡ… Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… ΡˆΡ‚ΡƒΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java Stream API, лямбда ΠΈ Ρ‚. Π΄. ΠžΡ‡Π΅Π½ΡŒ ΠΊΠ»Π΅Π²Ρ‹Π΅ свСТиС ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ ΡˆΡ‚ΡƒΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² production-ΠΊΠΎΠ΄Π΅, ΠΎ Ρ‡Π΅ΠΌ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдованиях ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ стоит Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠ»ΠΊΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Java-4 ΠΈ ΠΈΠ΄Ρ‚ΠΈ Π΅Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΎΠΉ сСбС ΠΏΠ»Π°Π½: ΡƒΡ‡ΠΈΠΌ Java-8 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅.

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° нововвСдСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Stream API, var, ΠΈ Ρ‚. Π΄. Π˜Ρ… ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдованиях, постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² production. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² Stream API сильно ΠΊΡ€ΡƒΡ‡Π΅ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΎΡ‡Π΅Π½ΡŒ крутая ΡˆΡ‚ΡƒΠΊΠ°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

И Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ всякиС ΡˆΡ‚ΡƒΠΊΠΈ Π²Ρ€ΠΎΠ΄Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Exceptions ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ΠΎ, Ρ‡Ρ‚ΠΎ каТСтся Π²Π°ΠΌ Π½Π΅Π²Π°ΠΆΠ½Ρ‹ΠΌ, ΠΏΠΎΠΊΠ° Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ малСнький ΠΊΠΎΠ΄ сами. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ эти Exceptions, ΠΊΠΎΠΌΡƒ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½Ρ‹? Но ΠΈΡ… Ρ‚ΠΎΡ‡Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π½Π° собСсСдованиях, ΠΎΠ½ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π²Π°ΠΌ пригодятся Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Exceptions, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΡˆΡ‚ΡƒΠΊΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π΅Π· структур Π½ΠΈΠΊΡƒΠ΄Π°, ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π΅ просто Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°ΡŽΡ‚ set, dictionary, листы. А Π΅Ρ‰Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ структур. НапримСр, Ρƒ Ρ‚ΠΎΠΉ ΠΆΠ΅ dictionary Π² Java ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС HashMap ΠΈ TreeMap. Π£ Π½ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ асимптотики, ΠΎΠ½ΠΈ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ устроСны Π²Π½ΡƒΡ‚Ρ€ΠΈ. НуТно Π·Π½Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти структуры Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ просто Π·Π½Π°Ρ‚ΡŒ ΠΈΡ… асимптотики β€” Π·Π° сколько Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ставка, Π·Π° сколько Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄, Π° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ структура Π²Π½ΡƒΡ‚Ρ€ΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°ΠΊΠ΅Ρ‚ Π² HashMap.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ Π³Ρ€Π°Ρ„Ρ‹. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΡˆΡ‚ΡƒΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½-ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΠΈΡ… Π»ΡŽΠ±ΡΡ‚ Π½Π° собСсСдованиях. БоотвСтствСнно, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΡŒΡ, Π³Ρ€Π°Ρ„Ρ‹ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ. Π­Ρ‚ΠΎ всС ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ сколь-Π½ΠΈΠ±ΡƒΠ΄ΡŒ большой ΠΊΠΎΠ΄, слоТный, с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, многоклассовый ΠΊΠΎΠ΄, Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ тяТко Π±Π΅Π· систСм сборки ΠΈ resolve-зависимости. Π­Ρ‚ΠΎ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Maven ΠΈ Gradle. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π² ΠΎΠ΄Π½Ρƒ строчку. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ однострочный xml ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ систСмы. Они ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ β€” Maven ΠΈΠ»ΠΈ Gradle.

Π”Π°Π»Π΅Π΅ β€” какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ систСма контроля вСрсий. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Git, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ популярный, Π΅ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π° Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ². ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Git, клСвая ΡˆΡ‚ΡƒΠΊΠ°, Π±Π΅Π· Π½Π΅Π΅ Π½ΠΈΠΊΡƒΠ΄Π°.

И β€” какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ IntelliJ Idea. Она ΠΎΡ‡Π΅Π½ΡŒ сильно ускоряСт процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, сильно Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, ΠΏΠΈΡˆΠ΅Ρ‚ Π·Π° вас всякий boilerplate-ΠΊΠΎΠ΄, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, клСвая.


Бсылки со слайда: SQLZOO, хабрапост

SQL. Π§ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎ бэкСндСров. Π—Π΄Π΅ΡΡŒ, Π½Π° самом Π΄Π΅Π»Π΅, Π±Ρ‹Π» Π·Π°Π±Π°Π²Π½Ρ‹ΠΉ кСйс. МнС Π·Π° Π΄Π²Π° дня Π΄ΠΎ ΠΌΠΎΠ΅Π³ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ собСсСдования Π½Π° стаТировку ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠ»Π° Π΄Π΅Π²ΡƒΡˆΠΊΠ°-HR ΠΈ сказала, Ρ‡Ρ‚ΠΎ мСня Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π° дня Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ SQL ΠΈ HTTP, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ. А я Π½Π΅ Π·Π½Π°Π» Π½ΠΈ ΠΏΡ€ΠΎ SQL, Π½ΠΈ ΠΏΡ€ΠΎ HTTP ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ. И я нашСл Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»Π΅Π²Ρ‹ΠΉ сайт β€” SQLZOO. На Π½Π΅ΠΌ я Π²Ρ‹ΡƒΡ‡ΠΈΠ» SQL часов Π·Π° 12, Π² смыслС, синтаксис SQL, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ SELECT-запросы, JOIN ΠΈ Ρ‚. Π΄. ΠžΡ‡Π΅Π½ΡŒ ΠΊΠ»Π΅Π²Ρ‹ΠΉ сайт, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ. РСально Π·Π° 12 часов Π²Ρ‹ΡƒΡ‡ΠΈΠ» 90% Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я знаю сСйчас.

И Π΅Ρ‰Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ Π·Π½Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ всякиС ΠΊΠ»ΡŽΡ‡ΠΈ, индСксы, нормализация. ΠŸΡ€ΠΎ это Π΅ΡΡ‚ΡŒ сСрия постов Π½Π° Π₯Π°Π±Ρ€Π΅.

Π’ Java, ΠΊΡ€ΠΎΠΌΠ΅ SQL, Π΅ΡΡ‚ΡŒ всякиС Object-relational mapping-систСмы Ρ‚ΠΈΠΏΠ° JPA.

Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ΄. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π½Π΅ΠΊΠΈΠΉ SQL-ΠΊΠΎΠ΄ β€” SELECT id name FROM info.users WHERE id IN userIds. Из Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… users, ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΈΡ… айдишники, ΠΈΠΌΠ΅Π½Π°.

Π”Π°Π»Π΅Π΅ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ ΠΌΠ°ΠΏΠΏΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Π±Π°Π·Ρ‹ Π² Π΄ΠΆΠ°Π²ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. И Π΅ΡΡ‚ΡŒ Π½ΠΈΠΆΠ΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, собствСнно, выполняСт этот ΠΊΠΎΠ΄. ВсС это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JPA ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ строчку, которая написана Π½ΠΈΠΆΠ΅. Она Π΄Π΅Π»Π°Π΅Ρ‚ всС Ρ‚ΠΎ ΠΆΠ΅ самоС, β€” find All ByIdIn. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ названию ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π°ΠΌ SQL-запрос.

ΠžΡ‡Π΅Π½ΡŒ клСвая ΡˆΡ‚ΡƒΠΊΠ°. Π― сам, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π½Π°Π» SQL, использовал JPA. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Если лСнь ΡƒΡ‡ΠΈΡ‚ΡŒ SQL, β€” огонь. И, Π²ΠΎΠΎΠ±Ρ‰Π΅, огонь!

Spring. ΠšΡ‚ΠΎ ΡΠ»Ρ‹ΡˆΠ°Π» ΠΏΡ€ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΡˆΡ‚ΡƒΠΊΡƒ, ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring? Π’ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ вас ΠΌΠ½ΠΎΠ³ΠΎ? НСспроста. Spring Π΅ΡΡ‚ΡŒ Π² трСбованиях ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вакансии ΠΏΠΎ бэкСнду Π½Π° Java. Π‘Π΅Π· Π½Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΠΈΠΊΡƒΠ΄Π° Π² большой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Spring? Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это Dependency Injection-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. ΠŸΡ€ΠΎ это Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ. Но Ссли Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅, это ΡˆΡ‚ΡƒΠΊΠ°, которая позволяСт Π²Π°ΠΌ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ зависимостСй ΠΎΠ΄Π½ΠΈΡ… классов Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ упрощаСтся Π·Π½Π°Π½ΠΈΠ΅ зависимостСй.

Spring Boot β€” Ρ‚Π°ΠΊΠΎΠΉ кусок Spring, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π°ΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ своС сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. Π’Ρ‹ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° THID, Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠ°Ρ€Ρƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈ Π²ΠΎΡ‚ Ρƒ вас Π½Π° localhost 8080 ΡƒΠΆΠ΅ поднято вашС сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ Π΅Ρ‰Π΅ Π½ΠΈ строчки ΠΊΠΎΠ΄Π° Π½Π΅ написали, Π° ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠžΡ‡Π΅Π½ΡŒ клСвая ΡˆΡ‚ΡƒΠΊΠ°. Если ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС, β€” огонь!

Spring β€” ΠΎΡ‡Π΅Π½ΡŒ большой Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. Он Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π°ΠΌ сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ‚ Dependency Injection. Он позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ всСго, Π² Ρ‚ΠΎΠΌ числС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ REST API-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ написали ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, повСсили Π½Π° Π½Π΅Π³ΠΎ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ Get mapping. И Π²ΠΎΡ‚ Ρƒ вас Π½Π° localhost ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΈΡˆΠ΅Ρ‚ Π²Π°ΠΌ Hello world. Π”Π²Π΅ строчки ΠΊΠΎΠ΄Π°, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠšΡ€ΡƒΡ‚Π°Ρ ΡˆΡ‚ΡƒΠΊΠ°.

Π’Π°ΠΊΠΆΠ΅ Spring ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС тСстов. Π‘Π΅Π· тСстирования Π² большой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΈΠΊΠ°ΠΊ. Код Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для этого Π² Java Π΅ΡΡ‚ΡŒ клСвая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JUnit 5. И Π²ΠΎΠΎΠ±Ρ‰Π΅ JUnit, Π½ΠΎ послСдняя вСрсия пятая. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ всС для тСстирования, всякиС assertions ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΡˆΡ‚ΡƒΠΊΠΈ.

И Π΅ΡΡ‚ΡŒ ΠΎΡ„ΠΈΠ³Π΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Mockito. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ нСкая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ, Π² Ρ‚ΠΎΠΌ числС, Π³Π΄Π΅-Ρ‚ΠΎ Π² сСрСдинкС ΠΎΠ½Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π²ΠΎ Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β» с вашим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, айдишником, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΎ Π°ΠΉΠ΄ΠΈΡˆΠ½ΠΈΠΊΡƒ имя ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΡŽΠ·Π΅Ρ€Π° Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β». НавСрноС, Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π² тСстах Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β», это странно. Но Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, поэтому Π²Ρ‹ этот класс, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mockito, сдСлали Π΅Π³ΠΎ mok, Π΅Π³ΠΎ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΡŽ.

Π’Ρ‹ скаТСтС, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π² этот класс ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ запрос с айдишником Ρ‚Π°ΠΊΠΈΠΌ-Ρ‚ΠΎ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Вася ΠŸΡƒΠΏΠΊΠΈΠ½. И это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π° mok ΠΎΠ΄ΠΈΠ½ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ класс. ΠžΡ‡Π΅Π½ΡŒ клСвая ΡˆΡ‚ΡƒΠΊΠ°.


Бсылка со слайда

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅? Π­Ρ‚ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‡Π°ΡΡ‚Π΅Π½ΡŒΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅, ΠΈΠ»ΠΈ схоТиС ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ люди ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ best practices, Π½Π΅ΠΊΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π•ΡΡ‚ΡŒ Π²Π΅Π±-сайт с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ популярных ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² β€” refactoring.guru, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это практичСски бСсполСзно. ЀактичСски ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Π±Π΅Π· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ особой ΠΏΠΎΠ»ΡŒΠ·Ρ‹ Π½Π΅ нСсут.

Π’Ρ‹ ΡƒΡΠ»Ρ‹ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Ρ‚ΠΈΠΏΠ° Singletone ΠΈΠ»ΠΈ Builder. ΠšΡ‚ΠΎ ΡΠ»Ρ‹ΡˆΠ°Π» эти слова? ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ людСй. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ простыС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сами. Но Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ²: стратСгия, Ρ„Π°Π±Ρ€ΠΈΠΊΠ°, фасад β€” Π½Π΅ понятно, Π³Π΄Π΅ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

И ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ Ρ‡ΡƒΠΆΠΎΠΌ ΠΊΠΎΠ΄Π΅ мСсто, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ этот ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ самим Π½Π΅ получится. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ с ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. И просто ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… Π½Π° refactoring.guru Π½Π΅ супСр ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹? ΠŸΡƒΡΡ‚ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ класс User. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Id ΠΈ Name. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ User ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈ Id, ΠΈ Name. Π‘Π»Π΅Π²Π° свСрху β€” класс.

КакиС Π΅ΡΡ‚ΡŒ способы ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ User? Π”Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° β€” Π»ΠΈΠ±ΠΎ конструктор, Π»ΠΈΠ±ΠΎ setter. КакиС Π΅ΡΡ‚ΡŒ минусы Ρƒ ΠΎΠ±ΠΎΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²?

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€. new User (7, Β«BondΒ»), ΠΎΠΊΠ΅ΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ допустим, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅ класс User, Π° Π½Π΅ΠΊΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, с сСмью числовыми полями. Π£ вас Π±ΡƒΠ΄Π΅Ρ‚ конструктор, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сСмь подряд ΠΈΠ΄ΡƒΡ‰ΠΈΡ… чисСл. НСпонятно, Ρ‡Ρ‚ΠΎ это Π·Π° числа, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ property относится. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ β€” это Π½Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” setter. Π’Ρ‹ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅: setId(7), setName(Β«BondΒ»). Π’Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, какая property ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ полю относится. Но Ρƒ setter Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ваш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ получаСтся измСняСмым. Π­Ρ‚ΠΎ Π½Π΅ потокобСзопасно ΠΈ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ люди ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΠΊΠ»Π΅Π²Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ β€” Builder.

ΠŸΡ€ΠΎ Ρ‡Ρ‚ΠΎ это? ΠŸΠΎΡΡ‚Π°Ρ€Π°Π΅ΠΌΡΡ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ»ΡŽΡΡ‹ ΠΎΠ±ΠΎΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² β€” ΠΈ setter, ΠΈ конструктора β€” Π² ΠΎΠ΄Π½ΠΎΠΌ. Π”Π΅Π»Π°Π΅ΠΌ Π½Π΅ΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Builder, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ поля Id ΠΈ Name, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° основС setter, ΠΈ Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Build, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π°ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ User со всСми ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π£ нас получаСтся нСизмСняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ setter. КлСво!

КакиС Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹? Π’ΠΎΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ классичСский Builder. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΌΡ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅. И Ссли ΠΌΡ‹ Π·Π°Π±Ρ‹Π»ΠΈ Π·Π°ΡΠ΅Ρ‚ΠΈΡ‚ΡŒ айдишник, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π² Builder ΠΎΠ½ проинициализируСтся Π½ΡƒΠ»Π΅ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ int β€” Π½Π΅ nullable. И Ссли ΠΌΡ‹ сдСлаСм Name Β«BondΒ» ΠΈ Π·Π°Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ айдишник, Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ User с id Β«0Β» ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«BondΒ». НС ΠΊΠ»Π΅Π²ΠΎ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ с этим ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ. Π’ Builder помСняСм int Π½Π° int ΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» nullable. Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ.

Если ΠΌΡ‹ пытаСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ User с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«BondΒ», Π·Π°Π±Ρ‹Π² ΠΏΡ€ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ айдишник, Ρƒ нас ΡƒΠΏΠ°Π΄Π΅Ρ‚ null pointer exception, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ айдишник Π½Π΅ nullable, Π° Ρƒ Builder β€” null, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ pointer exception.

Но ΠΌΡ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ имя, поэтому ΠΌΡ‹ навСшиваСм object replay Π½Π° null. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ строим ΠΈΠ· Builder наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠ½ провСряСт, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π½Π΅ nullable. И это Π΅Ρ‰Π΅ Π½Π΅ всС.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° послСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ссли ΠΌΡ‹ Π² айдишном Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ null, ΠΈ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ сразу ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ это сдСлал ΠΈ это Π½Π΅ ΠΊΠ»Π΅Π²ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ сСйчас дСлаСшь ΠΎΡˆΠΈΠ±ΠΊΡƒ.

НуТно ΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания User, Π° ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ ΡΠ΅Ρ‚ΠΈΡˆΡŒ Π² айдишник null. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π² Builder помСняСм Π² setter Integer Π½Π° int, ΠΈ ΠΎΠ½ сразу здСсь ругнСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΊΠΈΠ½ΡƒΠ»ΠΈ null.

ΠšΠΎΡ€ΠΎΡ‡Π΅, Π² Ρ‡Π΅ΠΌ ΡΡƒΡ‚ΡŒ? Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Builder, Π½ΠΎ Π΄Π°ΠΆΠ΅ Π² Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ тонкости, поэтому ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠ»Π΅Π²ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ². Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Π΅ΡΡ‚ΡŒ дСсятки Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΎ всС ΠΎΡ‡Π΅Π½ΡŒ интСрСсно.

Как ΠΌΡ‹ пишСм Builder Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½-ΠΊΠΎΠ΄Π΅? Π’ΠΎΡ‚ наш User. На Π½Π΅Π³ΠΎ вСшаСм Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ Builder ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Lombok, ΠΈ ΠΎΠ½Π° сама Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΌ Builder. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π½Π΅ пишСм ΠΊΠΎΠ΄Π°, Π½ΠΎ Java ΡƒΠΆΠ΅ считаСт, Ρ‡Ρ‚ΠΎ Ρƒ этого класса Π΅ΡΡ‚ΡŒ Builder, ΠΈ ΠΌΡ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ.

Π― ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», Ρ‡Ρ‚ΠΎ Π² Java Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ практичСски для всСго, Π² Ρ‚ΠΎΠΌ числС Lombok, клСвая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая позволяСт Π²Π°ΠΌ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ boilerplate. Builder, GET.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ β€” относящиСся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ классу, Π° ΠΊ систСмС Π² Ρ†Π΅Π»ΠΎΠΌ. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»Π΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСм: Single Responsibility Principle. О Ρ‡Π΅ΠΌ ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚? О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρƒ нас Π΅ΡΡ‚ΡŒ Controller, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ общаСтся с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π•ΡΡ‚ΡŒ Facade, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π•ΡΡ‚ΡŒ Service, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ слоТная Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ с этими модСлями. Π•ΡΡ‚ΡŒ Data Access Object, которая эти ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ»Π°Π΄Π΅Ρ‚ Π² Π±Π°Π·Ρƒ ΠΈ достаСт ΠΈΠ· Π±Π°Π·Ρ‹. И Π΅ΡΡ‚ΡŒ сама Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π΅ всС это находится Π² ΠΎΠ΄Π½ΠΎΠΌ классС, Π° ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… классов, ΠΈ это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½.

Когда Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ Java, Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ собствСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ API, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ REST API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ вашС сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΡƒΡŽ ΡˆΡ‚ΡƒΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π·ΡŽΠΌΠ΅, это ΠΊΠ»Π΅Π²ΠΎΠ΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ вашСго обучСния. Π‘ этим ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΅Π³ΠΎ сСрвСрного прилоТСния. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ курсС я с рСбятами писал ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Они писали мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ мСроприятий. Π’Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β», ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ мСроприятия, Π·Π²Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… своих Π΄Ρ€ΡƒΠ·Π΅ΠΉ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСроприятий ΠΈ Ρ‚. Π΄.

Π§Ρ‚ΠΎ сдСлал Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ я? Написал сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Spring Boot, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ SQL. Π― Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π», использовал JPA. Π§Ρ‚ΠΎ ΠΎΠ½ΠΎ ΡƒΠΌΠ΅Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² VK Ρ‡Π΅Ρ€Π΅Π· OAuth-2. Π‘Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠ΄Ρ‚ΠΈ с Π½ΠΈΠΌ Π² VK, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это настоящий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ… Ρ‡Π΅Ρ€Π΅Π· Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β». Оно ΡƒΠΌΠ΅Π»ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· JPA. Π£ΠΌΠ΅Π»ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ссылки Π½Π° Π½ΠΈΡ… Π² Π±Π°Π·Π΅. Π― Ρ‚ΠΎΠ³Π΄Π° Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ CLOB-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π±Π°Π·Π΅, поэтому Π΄Π΅Π»Π°Π» Ρ‚Π°ΠΊ. Π’Π°ΠΌ Π±Ρ‹Π» REST API для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. И Π±Ρ‹Π»ΠΈ ΡŽΠ½ΠΈΡ‚-тСсты Π½Π° основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

[…] НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΅Π³ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ изучСния Java. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ курсС Π² унивСрситСтС ΠΌΠ½Π΅ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π»ΠΈ C# ΠΈ Π΄Π°Π»ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎ ООП-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ классы, интСрфСйсы, абстракция, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹. МнС это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. Π‘Π΅Π· этого ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java довольно слоТно, нСпонятно, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ классы.

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ курсС Π² унивСрситСтС ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π΄Π°Π²Π°Π»ΠΈ Java core, Π½ΠΎ я Π½Π° этом Π½Π΅ остановился, пошСл ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Spring сам ΠΈ написал ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Π²Ρ‹ΡˆΠ΅. И с этим всСм я пошСл Π½Π° стаТировку Π² ЯндСкс, ΠΏΡ€ΠΎΡˆΠ΅Π» собСсСдованиС, ΠΏΠΎΠΏΠ°Π» Π² ЯндСкс.ΠœΠ°Ρ€ΠΊΠ΅Ρ‚. Π’Π°ΠΌ я писал бэкСнд для Π‘Π΅Ρ€Ρƒ, это наш маркСтплСйс, ΠΈ для самого ЯндСкс.ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π°.

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

Бпасибо! ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:
β€” Β«Java 8. Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β».
β€” Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
β€” SQLZOO.
β€” Нормализация Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
β€” ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования.
β€” Design Patterns.
β€” Clean Code.
β€” Effective Java.

прСимущСства языка программирования, Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° ΠΈ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Π­Ρ‚ΠΎΡ‚ язык постоянно развиваСтся, Π½ΠΎ остаСтся ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, Π½Π° Π½Ρ‘ΠΌ кодят ΡƒΠΆΠ΅ 27 Π»Π΅Ρ‚.

Пока люди ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π΅, спрос Π½Π° Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ расти β€” Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ написаны Π½Π° языкС Java: ΠΈΠ³Ρ€Ρ‹, мСссСндТСры, ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π΅Π΅Ρ€Ρ‹, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹, ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ сСрвисы. РазбираСмся, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‰Π΅ Π΅Π³ΠΎ стоит ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ.

1️⃣ Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

На Java кодят ΡƒΠΆΠ΅ 27 Π»Π΅Ρ‚. И ΠΎΠ½ Π΄ΠΎ сих ΠΏΠΎΡ€ популярСн β€” Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ мСсто Π²Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°Ρ… языков программирования TIOBE ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π² IEEE Spectrum. Π’ΠΎΠΊΡ€ΡƒΠ³ Java слоТилось сообщСство программистов JUG.ru β€” Java User Group.

Π Π΅ΡˆΠΈΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒ язык β€” вас ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΈ ΠΊΡƒΡ€Π°Ρ‚ΠΎΡ€Ρ‹ курса. Π’Ρ‹ смоТСтС ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ трудности ΠΈ успСхи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами Π² тСматичСских Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… и сообщСствах.

2️⃣ Java постоянно развиваСтся, Π½ΠΎ остаСтся ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ языком

Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‚. МоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚, β€” ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ этом язык обновляСтся Ρ€Π°Π· Π² ΠΏΠΎΠ»Π³ΠΎΠ΄Π°. Π’Π°ΠΊ ΠΎΠ½ остаСтся Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ адаптируСтся ΠΏΠΎΠ΄ Π½ΡƒΠΆΠ΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Для языка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ спСцификации β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… рСализациях ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ прСдсказуСмый, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

3️⃣ Высокая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° ΡƒΠΆΠ΅ Π½Π° стартС

БрСдняя Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° β€” 161Β 000Β β‚½ Π² мСсяц. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚ 95Β 000Β β‚½ Π² мСсяц. Π­Ρ‚ΠΎ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° большС, Ρ‡Π΅ΠΌ срСдняя Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° по России.

Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π° растСт вмСстС с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ

4️⃣ Java ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java β€” ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Π΅Ρ‰Π΅ быстро Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования.

Java ΡƒΡ‡ΠΈΡ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ. НапримСр, Π² Π½Ρ‘ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ хранятся Π² памяти, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚.

Π―Π·Ρ‹ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

5️⃣ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ вострСбованы

Java-программисты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π·Π΄Π΅: Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… стартапах, Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… бизнСсах и компаниях-Π³ΠΈΠ³Π°Π½Ρ‚Π°Ρ…. НапримСр, Π² Β«Π‘Π±Π΅Ρ€Π΅Β», Π Π–Π”, YouTube.Β 

На Ρ…Π΅Π΄Ρ…Π°Π½Ρ‚Π΅Ρ€Π΅ Π² ΠΌΠ°Π΅ 2022 Π³ΠΎΠ΄Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ большС 5000 вакансий для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π˜Ρ… ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°ΡŽΡ‚ Π² офис ΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΊΡƒ. Π’Ρ‹ смоТСтС ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ из любой Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΈΡ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… компаниях, ΠΏΡ€ΠΈ этом Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΅Π·ΠΆΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π³ΠΎΡ€ΠΎΠ΄.

Π’ ΠΎΠ½Π»Π°ΠΉΠ½-унивСрситСтС Skypro Π²Ρ‹ освоитС ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π°Β 11 мСсяцСв. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ: ΠΌΡ‹ исслСдовали 4003 вакансии с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π΄ΠΎ Π³ΠΎΠ΄Π° ΠΈ Ρ‚Ρ€Π΅Ρ… Π»Π΅Ρ‚, составили список самых частых Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΈΡ… Π² курс.

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

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Java? 6 практичСских ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Java

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎΠ± основных способах использования ΠΈ прСимущСствах Java, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ ΠΈ ΠΊΠ°ΠΊ быстро Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ

ДТСймс Гослинг создал Java ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Π”ΡƒΠ±Β» Π² июнС 1991 Π³ΠΎΠ΄Π°. Гослинг стрСмился ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ язык ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ, Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ C. Java 1.0, пСрвая общСдоступная рСализация , Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 1995 Π³ΠΎΠ΄Ρƒ. Основная Ρ†Π΅Π»ΡŒ Java Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² создании языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Β«Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎΒ».

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

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

Java β€” основы

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

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

Компания Sun Microsystems Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Java Π² 1995 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ язык программирования ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Он вырос ΠΈΠ· скромных источников, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ соврСмСнного Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, прСдлагая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ построСно мноТСство сСрвисов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НовыС, ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ услуги ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java Π² качСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, дСмонстрируя свою ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Java Ρ‚Π°ΠΊ популярСн? ВозмоТности Java

Java β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠΎ популярности язык программирования Π² ΠΌΠΈΡ€Π΅ послС Python ΠΈ C β€” согласно индСксу TIOBE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ языков программирования. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ использованиС языка нСсколькими ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ особСнностями Java:

  • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Java ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ являСтся языком программирования для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android ΠΈ инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Eclipse, IntelliJ IDEA ΠΈ NetBeans IDE.
  • БрСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Java. Java IDE прСдставляСт собой Π½Π°Π±ΠΎΡ€ срСдств Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ².
  • Удобство использования . Java ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΡƒΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ идСальной для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java Π² Π΄Π²Π° этапа: сначала базовая Java, Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Java.
  • Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Java β€” это язык программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ бСсплатСн. Java Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π°, Ρ‡Ρ‚ΠΎ являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ языка. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π΅Π΅ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½Π° Java.
  • НадСТный API. Π₯отя Π² Java всСго ΠΎΠΊΠΎΠ»ΠΎ пятидСсяти ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Π΅Π³ΠΎ интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования (API) являСтся ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ ΠΈ Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΠΈΠΌ, с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСпосрСдствСнно Π² любом ΠΊΠΎΠ΄Π΅.
  • Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ сообщСство. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Java сообщСством являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π΅Π΅ популярности. Он отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ являСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ сообщСством Stack Overflow.

Java ΠΈ JavaScript β€” Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°?

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΎΠ±ΠΎΠΈΡ… языков Π΅ΡΡ‚ΡŒ слово Β«JavaΒ», Java ΠΈ JavaScript β€” это Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… языка. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Java β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, JavaScript β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык сцСнариСв. Java Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° сторонС сСрвСра, Π° JavaScript большС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° сцСнарии Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ‚ΠΎΠΌ, для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ JavaScript, Π² нашСм ΠΏΠΎΠ»Π½ΠΎΠΌ постС Π² Π±Π»ΠΎΠ³Π΅. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaScript, наш курс ΠœΠΈΡ‡ΠΈΠ³Π°Π½ΡΠΊΠΎΠ³ΠΎ унивСрситСта ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π—Π°Ρ‡Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java?

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Java Ρ‚Π°ΠΊ популярСн, Π·Π°Ρ‡Π΅ΠΌ Π²Π°ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ? Помимо простоты использования ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для изучСния Java:

Java-программисты Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚

ΠŸΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ дСсятилСтия число Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСст Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния увСличится Π½Π° 22%, ΠΏΡ€ΠΈ этом особСнно большим спросом Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ бэкэнд-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. благодаря ΠΈΡ… спСциализированному Π½Π°Π±ΠΎΡ€Ρƒ Π½Π°Π²Ρ‹ΠΊΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, срСдняя базовая заработная ΠΏΠ»Π°Ρ‚Π° бэкэнд-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² БША составляСт 80 000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ Π½Π° 54% Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ срСдний Π΄ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ странС.

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

Java Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ

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

Java β€” отличная отправная Ρ‚ΠΎΡ‡ΠΊΠ° для изучСния Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования.

ПослС изучСния Java ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C, C#, C++, Python ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Java ΡƒΡ‡ΠΈΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ программист, выполняя процСссы с использованиСм Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ провСряя ΠΈΠ΄Π΅ΠΈ.

Java β€” ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ популярный язык программирования.

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

Java Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСнСтся

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

Java β€” Π³ΠΈΠ±ΠΊΠΈΠΉ язык

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

Бколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Java?

Как ΠΌΡ‹ ΡƒΠΆΠ΅ установили, Java β€” простой язык программирования ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы всСго Π·Π° нСсколько нСдСль. МногиС ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΊΡ€Π°Ρ‚ΠΊΠΈΡ… курсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ курс Β«Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² JavaΒ», длятся всСго Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ всСго нСсколько часов обучСния Π² нСдСлю.

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Наш курс Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΠΈ Java ExpertTrackΒ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 21 нСдСлю ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… часов обучСния Π² нСдСлю.

  • Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅Π£Π·Π½Π°Ρ‚ΡŒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΠΈ Java: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Java

  • Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅Π£Π·Π½Π°Ρ‚ΡŒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΠΈ Java: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΊ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

  • Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅Π£Π·Π½Π°Ρ‚ΡŒ ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния: языки программирования ΠΈ HTML

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

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ Java, нСсомнСнно, популярный ΠΈ вострСбованный Π½Π°Π²Ρ‹ΠΊ. Но ΠΊΠ°ΠΊΠΎΠ²Π° Ρ†Π΅Π»ΡŒ программирования Π½Π° Java? Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ касались Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования Java; ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСли эти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Java Π½ΠΈΠΆΠ΅. Java ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ:

Π’ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€, Ρ‚Π°ΠΊΠΈΠ΅ языки программирования, ΠΊΠ°ΠΊ C# ΠΈ C++, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π²ΠΈΠΆΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Unity ΠΈ Unreal Engine. Java, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ³Ρ€ с нуля. Доступно мноТСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ LibGDX ΠΈ OpenGL.

Π’Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Java β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстный сСрвСрный язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Spring, Struts, Hibernate, Apache Hadoop ΠΈ JSF ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· самых популярных срСд Java для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Java Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ извСстными Π²Π΅Π±-сайтами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ LinkedIn, AliExpress, Amazon ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅

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

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π²Π΅Ρ‰Π΅ΠΉ (IoT)

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

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для IoT ΠΈΠ·-Π·Π° Π΅Π³ΠΎ адаптивности ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ мноТСства Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования, с Java ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. По этим ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… мСдицинских Π³Π°Π΄ΠΆΠ΅Ρ‚Π°Ρ… ΠΈ ​​встроСнной элСктроникС.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для Android

Java являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android, ΠΏΡ€ΠΈ этом Java составляСт 46,2% всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Android Studio, которая являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android. Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с языком программирования Java, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ Android Π±ΡƒΠ΄Π΅Ρ‚ для вас Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²

Java Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстна созданиСм графичСских ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Доступно мноТСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Java, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с графичСским интСрфСйсом. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Swing, AWT, JavaFX, Griffon ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Java β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для вас.

Компании, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Java

МногиС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Pinterest, Google, Airbnb, Instagram, Spotify, Uber ΠΈ Netflix, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java Π² своСм тСхнологичСском стСкС. НиТС ΠΌΡ‹ пСрСчислили Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для вашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Netflix ΠΈ Google Android

Netflix β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых извСстных ΠΈ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π² БША, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π°Ρ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΈ тСлСсСриалы Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Netflix ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Google для Android ΠΈ Android TV ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написаны Π½Π° Java с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ нСбольшого количСства C++.

NASA Word Wind

NASA Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ свой Word Wind с использованиСм Java, создав ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ глобус, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ гСографичСскиС Π΄Π°Π½Π½Ρ‹Π΅. Он создаСт 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Π½Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ аэрофотоснимки с космичСского корабля НАБА.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° основС Java, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ API OpenGL для создания 2D- ΠΈ 3D-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с графичСским процСссором. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля GPS, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΠΊΠ°, ΡƒΡ€Π°Π³Π°Π½Ρ‹, зСмлСтрясСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ мСстополоТСния ΠΏΠΎ гСографичСским названиям, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ слои ΠΈ ΡƒΠ³Π»Ρ‹ ΠΎΠ±Π·ΠΎΡ€Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Minecraft

Minecraft β€” извСстная ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΈΠ³Ρ€Π°, созданная с использованиСм Java. Java 1.8 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π²Π΅Ρ€ΡΠΈΡŽ Minecraft Java, ΠΈ Minecraft ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Spotify

Spotify, популярный сСрвис ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Java для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ своСго Π²Π΅Π±-прилоТСния, вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ стабилизации, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Spotify написано Π½Π° Java.

Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Java ΠΈΠ»ΠΈ ΠΊΡ‚ΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚, ΠΌΡ‹ прСдоставили Π²Π°ΠΌ мноТСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Но Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Java ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ?

НиТС ΠΌΡ‹ пСрСчислили нСсколько ΠΈΠ΄Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ языкС программирования ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ:

  • Π˜Π³Ρ€Π° Β«Π Π°Π·Π±Π΅ΠΉ ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΒ»
  • ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ Π²Π°Π»ΡŽΡ‚
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Π°
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Β«Π£ΠΌΠ½Ρ‹ΠΉ Π³ΠΎΡ€ΠΎΠ΄Β»
  • Π˜Π³Ρ€Π° Β«Π£Π³Π°Π΄Π°ΠΉ число»
  • БистСма бронирования Π°Π²ΠΈΠ°Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ²

    8 БистСма управлСния сСрвСром
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…Β 

КаТдоС ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π²Π°ΠΌ Π²Ρ‹Π·ΠΎΠ² ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΡ‚Ρ‚ΠΎΡ‡ΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»ΠΈ послС освоСния основ Java.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли

На этом ΠΌΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ рассмотрСниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java-программирования. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρƒ этого популярного языка ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ большая ΡΠ΅Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

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

8 Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Java β€” прилоТСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅

ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· The Daily Bundle Π² свой ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ

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

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

Β 

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

Когда-Ρ‚ΠΎ Java Π±Ρ‹Π» СдинствСнным ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком Android, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Kotlin являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… языков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ОБ Google. Π―Π·Ρ‹ΠΊ программирования поддСрТиваСтся Android Studio ΠΈ обСспСчиваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π₯отя, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, сущСствуСт мноТСство языков для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Java являСтся Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠΌΡΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ сообщСство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Β 

2. Устройства Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ (IoT)

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π²Π΅Ρ‰Π΅ΠΉ β€” это мощная ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ связь ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ устройствами, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΎΠΌ Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Он ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для настоящСго ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ, прСдоставляя Ρ€Π°Π½Π΅Π΅ статичным устройствам Π½ΠΎΠ²Ρ‹Π΅ возмоТности.

Π’ сочСтании с Ρ‚Π°ΠΊΠΈΠΌΠΈ тСхнологиями, ΠΊΠ°ΠΊ искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ (ИИ), Java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ устройства, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ устройства ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния Π½Π° мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Ρ€ΠΊΡƒ ΠΈΠ»ΠΈ тСрмостат Π½Π° расстоянии β€” Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Π΄ΠΎΠΌΠ°. IoT Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΌΠ½ΠΎΠ³ΠΈΡ… отраслСй, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠΌΠΌΡƒΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ услуги, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ поставок ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Β 

3. ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ прилоТСния

ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ прилоТСния β€” прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ сСрвСрС, β€” Π² наши Π΄Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ повсСмСстно. БущСствуСт мноТСство Ρ‚ΠΈΠΏΠΎΠ² сСрвисов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния, ΠΎΡ‚ хранСния Π΄ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. ΠžΡ‚Ρ€Π°ΡΠ»ΠΈ Π²ΠΎ всСм спСктрС ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ прилоТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Dropbox, Amazon Web Services, Slack ΠΈ Salesforce.

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

Β 

4. Π’Π΅Π±-прилоТСния

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

Учитывая простоту использования Java, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прСдприятия, ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ°Π»Ρ‹Π΅, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ Java, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌ трСбуСтся быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-прилоТСния.

Β 

5. Π§Π°Ρ‚-Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Π΄Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€ΡƒΡ‡ΠΈ ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ часами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ с прСдставитСлСм ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ? БСгодня Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ наши всС Π±ΠΎΠ»Π΅Π΅ слоТныС вопросы. Π§Π°Ρ‚-Π±ΠΎΡ‚Ρ‹, основанныС Π½Π° искусствСнном ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π΅ ΠΈ часто созданныС с использованиСм Java, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½Ρ‹ΠΌ шагом Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ вопросов ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ.

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

Β 

6. Π˜Π³Ρ€Ρ‹

Благодаря Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠ³Ρ€Π°ΠΌ, ΠΊΠ°ΠΊ Minecraft, Java являСтся ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€, особСнно Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° устройствах Android. Благодаря своСй высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ язык позволяСт ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ прилоТСниям этого Ρ‚ΠΈΠΏΠ° Π½Π° этих систСмах. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, инструмСнт с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ jMonkeyEngine позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ 3D Π² ΠΈΠ³Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ являСтся ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ язык для 2D-ΠΈΠ³Ρ€.

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

Β 

7. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния

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

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Java для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ? Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, для этой Ρ†Π΅Π»ΠΈ сущСствуСт Ρ†Π΅Π»Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ интСрфСйсов ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования Java (API) ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Java Platform, Enterprise Edition (Java EE), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт эффСктивноС ΠΈ простоС созданиС сцСнариСв. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… этот язык, Π° Π΅Π³ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ обСспСчиваСт ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… всСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Java Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ, Ρ‡Ρ‚ΠΎ позволяСт растущим прСдприятиям Π½Π΅ ΠΎΡ‚ΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚ своих усилий.

Β 

8.

НаучныС прилоТСния

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

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