ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JRE ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ компилятор с языка Java, докумСнтация ΠΈ Π΄Ρ€.

JRE (java runtime enviroment) – Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина для выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, скомпилированных Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½ΠΎ Π½Π΅ компилятор ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ JRE ΠΌΠΎΠΆΠ½ΠΎ с сайта java.com. Π“Ρ€ΡƒΠ±ΠΎ говоря, JRE – урСзанная вСрсия JDK. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Π° Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

ПослС распаковки ΠΏΠ°ΠΊΠ΅Ρ‚Π° JDK Π² Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ bin Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» javac, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ компилятор, ΠΈ Ρ„Π°ΠΉΠ» java, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. ΠšΡƒΠ΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с JDK, ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту Π½Π΅ Π²Π°ΠΆΠ½ΠΎ. Однако Ссли это сдСлано Π½Π΅ Π² прСдусмотрСнный для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (Π² случаС Linux скорСС всСго это Ρ‚Π°ΠΊ), ОБ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ появились Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ компилятора ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Π’ любом случаС Bash Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ java, Ρ‚Π°ΠΊ ΠΈ javac. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ java ΠΈ Π΄Π²Π° Ρ€Π°Π·Π° Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Tab. Π’ спискС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π°. Если Π² систСму Π±Ρ‹Π»ΠΈ установлСны Ρ€Π°Π·Π½Ρ‹Π΅ JDK, Ρ‚ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ which:

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java

МоТно Π·Π°Π΄Π°Ρ‚ΡŒΡΡ вопросом, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ компилятор javac, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина java. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ javac Π½Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ исходный ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ, Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄.

Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ – это Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ машинно-нСзависим ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту Π½Π° Π»ΡŽΠ±Ρ‹Ρ… устройствах. Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚/ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина java Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π₯отя Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ – Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΎΠ½ достаточно Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ быстрСС, Ρ‡Π΅ΠΌ это происходило Π±Ρ‹ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ исходных ΠΊΠΎΠ΄ΠΎΠ².

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, javac’ΠΎΠΌ ΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΎ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. А java ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Vim, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ vimtutor. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ нСбольшой курс, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ этот Ρ„Π°ΠΉΠ» javac’Ρƒ. Он Π½Π°ΠΌ Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» HelloWorld.class, содСрТащий Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Π•Π³ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС java, Π½Π΅ указывая Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅:

IntelliJ IDEA

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

Плюсом здСсь являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ срСда заставляСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π² Π½Π΅ΠΉ Π΅ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ подсказки.

НаиболСС популярной IDE для Java являСтся IntelliJ IDEA ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JetBrains. БущСствуСт Π΄Π²Π΅ вСрсии – бСсплатная Community ΠΈ платная Ultimate (30 Π΄Π½Π΅ΠΉ Ρ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄). Π’ случаС Linux Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ скачСнный Π°Ρ€Ρ…ΠΈΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /opt/. ПослС этого ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° bin Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ скрипт idea.sh, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт мастСр установки.

Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠΊΠΎΠ½ мастСра Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ SDK (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС JDK). Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΡƒΠ΄Π° Π²Ρ‹ распаковывали ΠΏΠ°ΠΊΠ΅Ρ‚ JDK. IDEA Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΡ‚ΡΡŽΠ΄Π°.

Когда Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запуск, ΡƒΠΊΠ°Π·Π°Π² Π³Π»Π°Π²Π½Ρ‹ΠΉ класс, содСрТащий Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main(), ΠΈΠ»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Ctrl + Shift + F10.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Java IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с Linux’ом

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 2018-11-15

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. 100. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-100. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 100. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π³Π΄Π΅ Π±Ρ‹Π»Π° Π±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ссли Π±Ρ‹ Π½Π΅ сущСствовало ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux. Она ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ всС большС ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ², вСдь развиваСтся с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ. Благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ этими систСмами Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ΅ сообщСство, Π° Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³ сотрудников ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Линуксы Π²Π»Π°Π΄Π΅ΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΈΡ… коммСрчСскиС ΠΎΠΏΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ – Mac ΠΈ Windows. Если Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ дТавист ΠΈ Ρ‚ΠΎΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ присоСдинится ΠΊ линуксоидам, Π·Π½Π°Ρ‡ΠΈΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π₯Π²Π°Ρ‚ΠΈΡ‚ Π·Π°Π±ΠΈΠ²Π°Ρ‚ΡŒ Π² Google Β«linux java ideΒ» – Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ всС Ρ‡Ρ‚ΠΎ Π½ΠΈΠΆΠ΅!

Новичок ΠΏΡ€ΠΎΡ‚ΠΈΠ²

По ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅, ΠΎΠ±Ρ€ΡƒΡˆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, Linux ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΏΠ΅Ρ€Π½ΠΈΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ с Windows. ПослСднюю ΠΈ вовсС Π½Π΅ ΠΆΠ°Π»ΡƒΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ: Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΠ· сСмСйства Linux. БСгодня ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΈ эти систСмы. Π—Π°Ρ‚ΠΎ рассмотрим ΠΏΡƒΠ½ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ΠΏΡƒΠ³ΠΈΠ²Π°ΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Linux.

Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для Linux, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚:

Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ тСзис ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π²ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ· уст Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Photoshop ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Но, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ простых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ΅Π½ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΠΈ, Ρ‚ΠΎ этот Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ сразу ломаСтся. Π‘ΠΎ всСми «простыми» функциями эти OS ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ. Иногда, Π΄Π°ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ прСсловутого Windows. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Β«ΠΎΠΆΠΈΠ²Π°ΡŽΡ‚Β», ΠΊΠΎΠ³Π΄Π° Π½Π° Π½Π΅Π³ΠΎ прямыми Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ качСствСнный дистрибутив;

ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сторонних устройств. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… дисков ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСвайсов. К соТалСнию, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ «осСй» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π²Π΅Π½Π΄ΠΎΡ€ – Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ устройство. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли Linux Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ, это Π²ΠΈΠ½Π° накопитСля, Π° Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΡƒΠΆΠ΅ Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒ устройство Π½Π΅ совмСстимоС с Linux-сСмСйством;

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. jscript. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-jscript. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° jscript. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ. ЕдинствСнный минус для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ взаимодСйствуСт с ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ПК (80%). Windows ΠΈ Mac Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ использованиС Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ. Ни ΠΎΠ΄ΠΈΠ½ Β«Π³ΠΎΠ»Ρ‹ΠΉΒ» дистрибутив Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ с Π½ΠΈΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒΡΡ. И это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ: Π² распоряТСнии сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Linux Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, ΠΊΠ°ΠΊ Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Apple ΠΈ Microsoft. Π›ΡƒΡ‡ΡˆΠ΅Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ для Linux – это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ.

IDE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ

Π‘Π°ΠΌ Linux ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ для Java: это Π±ΡƒΠ΄Ρ‚ΠΎ опСрационная систСма, которая являСтся срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Π°ΠΌΠ° опСрационная систСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π½Π° основС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков. Π—Π½Π°Ρ‡ΠΈΡ‚, Π»ΡƒΡ‡ΡˆΠ΅Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Linux – это Π³Ρ€ΡƒΠΏΠΏΠ° компиляторов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы. Им стал GCC (GNU Compiler Collection). ΠšΡ€ΠΎΠΌΠ΅ компиляции, GCC выполняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ„Ρ€ΠΎΠ½Ρ‚Π° для языков C, Π‘++, Java. И это Π½Π΅ всС плюшки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Linux ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ» для программистов. БСгодня эта систСма стоит Π½Π° 3 ΠΈΠ· 5 ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². IDE для Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Linux – масса.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ставит ΠΊ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ трСбования. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. И это Π½Π΅ ΠΏΠΎΡ€ΠΎΠΊ: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π° Java лишь для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ своСго прСдприятия, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°ΡΠΊΠΎΡˆΠ΅Π»ΠΈΡ‚ΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ софт. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ IDE ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° сразу нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ условиС.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. 1. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ школ, ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅ΠΉ ΠΈ унивСрситСтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык программирования для ΡƒΡ‡Π΅Π½ΠΈΠΊΠ°. Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Linux! Π’Π΅Π΄ΡŒ это Π³ΠΎΡ€Π°Π·Π΄ΠΎ дСшСвлС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ для машин. Для обучСния Π½ΡƒΠΆΠ½Π° ΠΈ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ подсвСтит мСсто ошибки. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ Π½Π΅ получится, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Линукс.

Π’ΠΎΠΏ ΠΏΠΎ катСгориям

БСгодняшний Ρ‚ΠΎΠΏ-лист срСд для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Линукс Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΉ конкурс красоты: Π±Π΅Π· Ρ‚ΠΈΡ‚ΡƒΠ»Π° Π½Π΅ останСтся Π½ΠΈ ΠΎΠ΄ΠΈΠ½ участник. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ IDE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… достоинств? ΠšΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ для Linux ΠΈ эффСктивности самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΡ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. jscript. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-jscript. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° jscript. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ стоит Π΄Π΅Π½Π΅Π³

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ стоит, Π½ΠΎ Π½Π΅ Π² случаС с JDeveloper. Π­Ρ‚ΠΎ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java, которая ΠΈΠΌΠ΅Π΅Ρ‚ славу Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ IDE, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ языкС Java. ЯвляСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java, которая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Oracle. Π˜Ρ… Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π±Ρ‹Π»ΠΎ созданиС Java IDE, которая вытСснит всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΈΠ· этой ниши.

JDeveloper ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ взаимодСйствиС с систСмами контроля вСрсий, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Git. Благодаря этому, срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ сводныС дистрибутивы Linux. ВмСстС с Π³ΠΈΡ‚-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π² эту IDE Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠ±Π»Π°ΠΊΠ° ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ всСх основных Π²Π΅Π±-языков ΠΈ Π²Π΅Π±-сСрвСр. JDeveloper впСчатляСт Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ графичСского интСрфСйса, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π»Π°Π΄ΠΈΡ‚ с Java-ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΠ½Π° Π΅Ρ‰Π΅ ΠΈ написана Π½Π° Java, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ²ΠΎΠ΄ для создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊ этому ПО.

Π€Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² стала ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Java EE – Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΠΎ созданию ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ Π½Π° e-commerce. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, JDeveloper Π½Π΅ Ρ‚Π°ΠΊ распространСн, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Линукс. ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΎΠ½ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Java, Π° ΠΎΠ΄ΠΈΠ½ язык Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π₯отя для Java Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ подходящСС.

Π›ΠΈΠ΄Π΅Ρ€ Ρ„Ρ€ΠΈΠΌΠΈΡƒΠΌΠ° – NetBeans

Π’ΠΎΡ‚ Π²Π°ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ софта ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ прямой ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ «сам с собой», ΠΈ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ: это Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. ΠžΠ±Ρ‰ΠΈΠΌ здСсь Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Java ΠΈ бСсплатноС распространСниС.

NetBeans Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π° Java, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ, Π½ΠΎ ΠΈ являСтся настоящим open-source, с двумя GPL Π½Π° структурныС элСмСнты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ провСсти Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ – дТавист.

Из бСсплатных IDE, NetBeans являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнной срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΈ для Linux. БчитаСтся, Ρ‡Ρ‚ΠΎ Β«Π±ΠΎΠ±Ρ‹Β» всСцСло ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΈ это Π½Π΅ бСспочвСнныС заявлСния. Π‘Ρ€Π΅Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ PHP, Ruby ΠΈ Python – Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² Π²Π΅Π±Π°. ΠŸΡ€Π°Π²Π΄Π° для этих PL Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ»Π°Π³ΠΈΠ½.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. 2. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Π£ NetBeans Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ – GUI Builder. Из названия Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΎ Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ: составлСниС интСрфСйсов для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Волько Ρƒ NetBeans ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всС большС ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½. Π’Ρ‹ просто пСрСтаскиваСтС Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты ΠΈ конструируСтС ΠΈΠ· Π½ΠΈΡ… интСрфСйс.

Π›ΠΈΠ΄Π΅Ρ€ Ρ‚ΠΎΠΏΠ° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ – MyEclipse

Π‘ΠΎ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse Π²Ρ‹ ΡƒΠΆΠ΅, навСрняка, Π·Π½Π°ΠΊΠΎΠΌΡ‹ – ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных Π² свободном доступС. Π•Π΅ создали Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Visual Studio ΠΈ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ½Π° ΠΎΡ‚Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft.

Для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Eclipse ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π»Π°Π΄Π΅Π΅Ρ‚ Java Development Tools, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сущСствСнно ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Ну, Π° Ссли ΠΊ этому Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ ΠΈΠ· My, получаСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ элСмСнт для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java.

По сути, это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Eclipse. MyEclipse ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, скачав ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π½Π° сайтС eclipse.org. Но, здСсь ΡƒΠΆΠ΅ всС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для Ρ„ΡƒΠ»Π»-стСка: присутствуСт Π΄Π°ΠΆΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ…ΠΎΡ‚ΡŒ ΠΈ довольно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ. НСсмотря Π½Π° красивый Π»ΠΎΠ·ΡƒΠ½Π³ – Β«Π›ΡƒΡ‡ΡˆΠ°Ρ Java EE IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°-фуллстСка», ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ нашСл признания Ρƒ масс. Π’ΠΏΠ΅Ρ€Π΅Π΄ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅!

ΠžΡ„Ρ„Ρ‚ΠΎΠΏ: ΠΊΡ€ΠΎΠΌΠ΅ этих ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… инструмСнтов, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для обучСния Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ DrJava. Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ унивСрситСтский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ, ΠΊΠ°ΠΊ это Π±Ρ‹Π²Π°Π΅Ρ‚ срСди программистов, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°Π½Π°Ρ‚Ρ‹ этой систСмы. Π•Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π΅ установитС массу ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π½Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». Но, ΠΊΠ°ΠΊ инструмСнт обучСния – эта срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ идСальна. ОсобСнно, Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Β«Π΄Ρ€ΡƒΠΆΠΈΡ‚Β» с Linux. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΠΈ этой IDE способствуСт ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ². Π‘Π°ΠΌΡ‹ΠΉ яркий ΠΈΠ· Π½ΠΈΡ… – BlueJ, Π½ΠΎ с Π½ΠΈΠΌ ΠΌΡ‹ встрСтимся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±Π·ΠΎΡ€Π°Ρ…. А ΠΏΠΎΠΊΠ° всС!

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. jscript. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-jscript. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° jscript. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. fs. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-fs. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fs. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Full-Stack ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ JavaScript Π±Π»ΠΎΠ³Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-прилоТСния с нуля Π½Π° JavaScript, NodeJS, ExpressJS

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

НастраиваСм Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java ΠΏΠΎΠ΄ Linux

Ну Π²ΠΎΡ‚, эпоха ΠΌΠΎΠ΅Π³ΠΎ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ эникСйства подошла ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ. Π‘Π½ΠΎΠ²Π° я Π² своСй струС, занимаясь своСй любимой java, ΠΏΡ€Π°Π²Π΄Π°, всС Ρ€Π°Π²Π½ΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚Π°ΠΊΠΈΠΌ Π³ΠΎΡ€ΡŒΠΊΠΈΠΌ послСвкусиСм. Разрабатывая ПО для Π±Π°Π½ΠΊΠΎΠ² ΠΈ Π΄ΠΎ этого пСриодичСски отходя ΠΊ 1Π‘, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΠΎ Ρƒ мСня Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ чСткая ассоциация с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΡƒ Ρ‚ΡƒΠΆΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ 1Π‘, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π΄ΠΆΠ°Π²Π΅. Π›Π°Π΄Π½ΠΎ, Ρ…ΠΎΡ‚ΡŒ ΠΌΠΎΠ·Π³ΠΈ снова Π·Π°ΠΏΡƒΡ‰Ρƒ, Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

Как всСгда Π·Π°Π²Π΅Π΄Π΅Π½ΠΎ Π² программСрских ΠΊΠΎΠ½Ρ‚ΠΎΡ€Π°Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΠ΄ Линуксом. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π² офисС Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ дистрибутивом оказался Mint, ΡƒΠΆ с Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠ΅ связано ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ Π£Π±ΡƒΠ½Ρ‚Ρƒ ΡƒΠΆ явно ΠΏΡƒΡ‚ΡŒ Π² Π½ΠΈΠΊΡƒΠ΄Π°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис apt ΡƒΠΆΠ΅ заставляСт Π»Π΅Π½ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ работая Π² Debian ΠΊΠ°ΠΊ-Ρ‚ΠΎ сСбя Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ ΠΎΡ‰ΡƒΡ‰Π°Ρ‚ΡŒ.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. 1 4. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-1 4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1 4. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Ну Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ, Mint Ρ‚Π°ΠΊ Mint. ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ лишь Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

Π˜Ρ‚Π°ΠΊ, сама Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдСтся Π½Π° старой java 1.7, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ядро ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написано ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½Π΅ΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΈ Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ нСбольшой ΠΌΠ°Π½ΡƒΠ°Π» для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ столкнСтся с Ρ‚Π°ΠΊΠΈΠΌΠΈ нСбольшими ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.

Π˜Ρ‚Π°ΠΊ, пишСм Π½Π° java 1.7, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ IntelliJ IDEA Community Π² качСствС IDE, SQL Developer Π² качСствС управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, git ΠΈ maven Π² качСствС сборщика.

Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ нСбольшиС Π½ΡŽΠ°Π½ΡΡ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я ΠΈ Ρ…ΠΎΡ‚Π΅Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ. Π’ Ubuntu ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΡƒΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ OpenJDK, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π² ΠΊΠΎΡ€Π½Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Ну Π½Π΅ совсСм ΠΎΠ½ΠΈ совмСстимы с ΠΎΡ€Π°ΠΊΠ»ΠΎΠ²ΠΎΠΉ Π΄ΠΆΠ°Π²ΠΎΠΉ, Ρ…ΠΎΡ‚ΡŒ Ρ‚Ρ‹ трСсни. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π΅Π³ΠΎ сносим:

ВсС, большС Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ jdk нас Π½Π΅ бСспокоит. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ вСрсии ΠΎΡ€Π°ΠΊΠ»ΠΎΠ²ΠΎΠΉ Π΄ΠΆΠ°Π²Ρ‹. Π‘Ρ€Π°Π·Ρƒ сдСлаю ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ – ΠΌΠΎΠΉ стСнд Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π΄ΠΆΠ°Π²Π΅ 1.7, Π° Π²ΠΎΡ‚ послСдняя вСрсия sql developer – Π½Π° jdk 1.8. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Π΅ вСрсии. Нам Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΡ€Π°ΠΊΠ»ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, для этого Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²Π²Π΅Π΄Π΅ΠΌ:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java8-installer

На самом Π΄Π΅Π»Π΅, здСсь я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сдСлал Π½Π΅ совсСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…ΠΎΠ΄, ΡƒΠ΄Π°Π»ΠΈΠ² сначала openjdk. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ сначала ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ€Π°ΠΊΠ»ΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ чистку Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ зависимости Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠΈΠ»ΠΈΡΡŒ. Но Ρƒ мСня систСма Π±Ρ‹Π»Π° чистая, поэтому я ΠΌΠΎΠ³Ρƒ Ρ‚Π°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ. Π’Ρ‹ ΠΆΠ΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π½Π° своС усмотрСниС.
Π˜Ρ‚Π°ΠΊ, ΠΎΠ±Π΅ вСрсии Π΄ΠΆΠ°Π²Ρ‹ установлСны Π² систСмС. Однако Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Β«Π½ΠΎΒ» β€” ΠΏΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ java –version Π²Π°ΠΌ систСма ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ установлСна ΠΈΠΌΠ΅Π½Π½ΠΎ 1.8 Π² качСствС jdk ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π›ΠΈΡ‡Π½ΠΎ мСня это Π² ΠΊΠΎΡ€Π½Π΅ Π½Π΅ устраиваСт. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π² Debian ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ вСрсиями Π΄ΠΆΠ°Π²Ρ‹ всСго ΠΎΠ΄Π½ΠΎΠΉ строчкой ΠΊΠΎΠ΄Π°:

БоотвСтсвСнно, эта ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄ΠΆΠ°Π²Π° 8, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто Ρ†ΠΈΡ„Ρ€Ρ‹ 7 Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ 8.

Если Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ java 1.7 Π² качСствС Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠΉ систСмы, дСлаСтся это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo apt-get install oracle-java7-set-default

Π’Π΅ΠΏΠ΅Ρ€ΡŒ установим Sql Developer. Π’ΠΎΡ‚ здСсь ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ пляски с Π±ΡƒΠ±Π½ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ этой срСды ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ deb ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π§Ρ‚ΠΎ ΠΆ, выкрутимся Ρ‚Π°ΠΊΠΈΠΌ способом:
1. Π’Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ rpm ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.
2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ alien ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ скачанный ΠΏΠ°ΠΊΠ΅Ρ‚ Π² deb. Π£ мСня это вСрсия 4.1.5.21.78, поэтому ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² ΠΌΠΎΠ΅ΠΌ случаС Ρ‚Π°ΠΊ:

3. Установим ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚:

ПослС этого ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ – ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ для sql developer ΠΊ jdk 1.8, ΠΈΠ½Π°Ρ‡Π΅ Π½Π° 1.7 ΠΎΠ½ Ρƒ вас просто Π½Π΅ завСдСтся. Для этого Π² Ρ„Π°ΠΉΠ»Π΅ sqldeveloper.conf Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строчку с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ jdk ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ. Бтудия Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²Π΅ΡΡ‚ΠΈΡΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ остаСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² систСму maven, git ΠΈ ИдСю. Π‘ IntelliJ IDEA Community всС просто – скачиваСм ΠΈ запускаСм start.sh.

maven ΠΌΡ‹ просто поставим стандартными срСдствами:
sudo apt-get install maven

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ установился:

git ΠΌΡ‹ поставим Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ способом:

ПослС этого ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ зависимости:

И ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ систСму. ВсС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠΎΠ΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния для стСнда я ΠΏΠΎΠΊΠ°Π·Π°Π», ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ вСсь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ инструмСнт для java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. К соТалСнию, Π΄Π°Π½Π½ΠΎΠ΅ руководство вСсьма повСрхностно ΠΈ здСсь Π½Π΅ описано мноТСство Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… настроСк для всСго этого инструмСнтария. Но всС это Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚ΡƒΡ‚ Π²Ρ‹ ΡƒΠΆΠ΅ сами Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ – ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° java ΠΏΠΎΠ΄ любой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π²Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ придСтся часто ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ jdk. Π­Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ явлСниС для этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Блишком ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° написано Π½Π° старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ постСпСнно ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ напутствиС Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΡΡ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ этот язык ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ – нСпонятно Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. Π”Π°, Π²Ρ‹ΡˆΠ΅Π» jdk 1.9, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠžΡ€Π°ΠΊΠ» ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ анонсировал Π²Ρ‹Ρ…ΠΎΠ΄ EE 1.9, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ интСрпрайзовская Π΄ΠΆΠ°Π²Π° слуТит Π»ΠΎΠΊΠΎΠΌΠΎΡ‚ΠΈΠ²ΠΎΠΌ для солидной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, язык ΠΎΡ‡Π΅Π½ΡŒ простой. Π― ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C++ ява дСтский Π»Π΅ΠΏΠ΅Ρ‚. ЧСстно говоря, ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ½Π΅, ΠΎΠ½ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅ C#, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ синтаксис. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я скоро Π½Π°Ρ‡Π½Ρƒ ΡΠ΅Ρ€ΠΈΡŽ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ java, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°Π²Π΅Π΄Ρ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠΎΠΉ Π±Π»ΠΎΠ³ 🙂

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для запуска ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, компиляция, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° JVM

Ни для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Java β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных языков программирования Π² ΠΌΠΈΡ€Π΅. Π”Π°Ρ‚Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выпуска Java β€” 23 мая 1995 Π³ΠΎΠ΄Π°.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна основам основ: Π² Π½Π΅ΠΉ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ особСнности языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ придутся кстати Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ β€œΠ΄ΠΆΠ°Π²ΠΈΡΡ‚Π°ΠΌβ€, Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смогут ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ свои знания.

* Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° Π½Π° основС Π΄ΠΎΠΊΠ»Π°Π΄Π° ЕвгСния Π€Ρ€Π°ΠΉΠΌΠ°Π½Π° β€” Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ IntexSoft.
Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ссылки Π½Π° внСшниС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹
.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1. JDK, JRE, JVM

Java Development Kit β€” ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Java. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Java Development Tools ΠΈ срСду выполнСния Java β€” JRE (Java Runtime Environment).

Java development tools Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΎΠΊΠΎΠ»ΠΎ 40 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΡƒΠ»ΠΎΠ²: javac (компилятор), java (Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), javap (java class file disassembler), jdb (java debugger) ΠΈ Π΄Ρ€.

Π‘Ρ€Π΅Π΄Π° выполнСния JRE β€” это ΠΏΠ°ΠΊΠ΅Ρ‚ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для запуска скомпилированной Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ JVM ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов Java β€” Java Class Library.

JVM β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдназначСнная для выполнСния Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ прСимущСство JVM β€” это ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ β€œWrite once, run anywhere”. Он ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, написанноС Π½Π° Java, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π­Ρ‚ΠΎ являСтся большим прСимущСством JVM ΠΈ самой Java.

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

БущСствуСт мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ JVM, ΠΊΠ°ΠΊ коммСрчСских, Ρ‚Π°ΠΊ ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Одна ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ создания Π½ΠΎΠ²Ρ‹Ρ… JVM β€” ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. КаТдая JVM ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ этом Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° быстрСС Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Бамая распространённая рСализация JVM β€” это JVM Hotspot ΠΎΡ‚ OpenJDK. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ IBM J9, Excelsior JET.

2. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° JVM

Богласно спСцификации Java SE, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² JVM, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 3 этапа:

3. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ классов ΠΈ ΠΈΡ… иСрархия

ВСрнСмся ΠΊ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°ΠΌ классов β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ JVM. Они Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ классы Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΡ… доступными для выполнСния. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со всСми классами: ΠΈ с нашими, ΠΈ с Ρ‚Π΅ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпосрСдствСнно Π½ΡƒΠΆΠ½Ρ‹ для Java.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: ΠΌΡ‹ написали своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ стандартных классов Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ наши классы, ΠΈ ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Как с этим Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ JVM? Π’ Java Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° отлоТСнная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° классов, ΠΈΠ½Ρ‹ΠΌΠΈ словами lazy loading. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° классов Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ встрСтится ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ классу.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² классов

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ классов β€” это Bootstrap classloader. Он написан Π½Π° C++. Π­Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС систСмныС классы ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π° rt.jar. ΠŸΡ€ΠΈ этом, Π΅ΡΡ‚ΡŒ нСбольшоС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ классов ΠΈΠ· rt.jar ΠΈ Π½Π°ΡˆΠΈΡ… классов: ΠΊΠΎΠ³Π΄Π° JVM Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ классы ΠΈΠ· rt.jar, ΠΎΠ½Π° Π½Π΅ выполняСт всС этапы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класс-Ρ„Π°ΠΉΠ»Π° Ρ‚.ΠΊ. JVM ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ извСстно, Ρ‡Ρ‚ΠΎ всС эти классы ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² этот Π°Ρ€Ρ…ΠΈΠ² ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ свои Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ стоит.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ β€” это Extension classloader. Он Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ классы Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ jre/lib/ext. Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ класс загруТался ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ стартС Java ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный Ρ„Π°ΠΉΠ» класса Π² эту ΠΏΠ°ΠΏΠΊΡƒ, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ β€” System classloader. Он Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ классы ΠΈΠ· classpath’а, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡ€ΠΈ запускС прилоТСния.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ классов происходит ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ:

4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π‘lass-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ нСпосрСдствСнно ΠΊ структурС Class-Ρ„Π°ΠΉΠ»ΠΎΠ².

ВсС числа, строки, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° классы, поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ хранятся Π² Π‘onstant pool β€” области памяти Meta space. ОписаниС класса хранится Ρ‚Π°ΠΌ ΠΆΠ΅ ΠΈ содСрТит имя, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, супСр-класс, супСр-интСрфСйсы, поля, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Атрибуты, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ классов:

5. ИсполнСниС Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π½Π° JVM

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для исполнСния Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, JVM ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ β€” довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ процСсс. Π’ процСссС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ β€œΠ±Π΅ΠΆΠΈΡ‚β€ построчно ΠΏΠΎ класс-Ρ„Π°ΠΉΠ»Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятны JVM.

Π’Π°ΠΊΠΆΠ΅ JVM ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚.Π΅. ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСпосрСдствСнно Π½Π° CPU.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ часто, Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° сразу Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

6. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ исходныС части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанныС Π½Π° языкС программирования высокого уровня, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° машинном языкС, β€œΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽβ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ дСлятся Π½Π°:

Π’Π°ΠΊΠΆΠ΅ компиляторы ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ компиляции:

7. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ памяти Π² Java

Π‘Ρ‚Π΅ΠΊ β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π² Java, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ схСмС LIFO β€” β€œLast in β€” Fisrt Out” ΠΈΠ»ΠΈ β€œΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ вошСл, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅Π»β€.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Он Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² стСкС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ созданы.

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности стСка:

ΠšΡƒΡ‡Π° Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° нСсколько Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… частСй, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… поколСниями:

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ Permanent generation? Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, это ΠΈΠ·-Π·Π° ошибки, которая Π±Ρ‹Π»Π° связана с ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ области: Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Perm ΠΈΠΌΠ΅Π» константный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π½Π΅ ΠΌΠΎΠ³ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ динамичСски, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»Π°ΡΡŒ, кидалась ошибка, ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π»ΠΎ.

Meta space ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ динамичСский Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΈ Π²ΠΎ врСмя исполнСния ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² памяти JVM.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности ΠΊΡƒΡ‡ΠΈ:

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅, рассмотрим, ΠΊΠ°ΠΊ происходит ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π£ нас Π΅ΡΡ‚ΡŒ класс App, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ СдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ main состоит ΠΈΠ·:

β€” ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΉ id Ρ‚ΠΈΠΏΠ° int со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 23
β€” ссылочной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ pName Ρ‚ΠΈΠΏΠ° String со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Jon
β€” ссылочной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ p Ρ‚ΠΈΠΏΠ° person

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ стСка создаётся ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ для выполнСния.
Π’ нашСм случаС, это ссылка Π½Π° класс person: сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ хранится Π² ΠΊΡƒΡ‡Π΅, Π° Π² стСкС хранится ссылка. Π’Π°ΠΊΠΆΠ΅ Π² стСк кладСтся ссылка Π½Π° строку, Π° сама строка хранится Π² ΠΊΡƒΡ‡Π΅ Π² String pool. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² хранится нСпосрСдствСнно Π² стСкС.

Для Π²Ρ‹Π·ΠΎΠ²Π° конструктора с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Person (String) ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main() Π² стСкС, ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° main() создаСтся Π² стСкС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚:

β€” this β€” ссылка Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
β€” ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ id
β€” ΡΡΡ‹Π»ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ personName, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° строку Π² String Pool.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ конструктор, вызываСтся setPersonName(), послС Ρ‡Π΅Π³ΠΎ снова создаСтся Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌ Π² стСкС, Π³Π΄Π΅ хранятся Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅: ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ссылка Π½Π° строку, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° выполнится ΠΌΠ΅Ρ‚ΠΎΠ΄ setter, Ρ„Ρ€Π΅ΠΉΠΌ ΠΏΡ€ΠΎΠΏΠ°Π΄Π΅Ρ‚, стСк очистится. Π”Π°Π»Π΅Π΅ выполняСтся конструктор, очищаСтся Ρ„Ρ€Π΅ΠΉΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» создан ΠΏΠΎΠ΄ конструктор, послС Ρ‡Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ main() Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Ρ‚ΠΎΠΆΠ΅ удаляСтся ΠΈΠ· стСка.

Если Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, для Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ созданы Π½ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΡ‹ с контСкстом этих ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

8. Garbage collector

Π’ ΠΊΡƒΡ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Garbage collector β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java, которая избавляСтся ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ.

Π Π°Π·Π½Ρ‹Π΅ JVM ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сборки мусора, Ρ‚Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ сборщики мусора.

ΠœΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ самом простом сборщикС Serial GC. Π‘Π±ΠΎΡ€ΠΊΡƒ мусора ΠΌΡ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ System.gc().

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ упомянуто Π²Ρ‹ΡˆΠ΅, ΠΊΡƒΡ‡Π° Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° 2 области: New generation ΠΈ Old generation.

New generation (младшСС ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 3 Ρ€Π΅Π³ΠΈΠΎΠ½Π°: Eden, Survivor 0 ΠΈ Survivor 1.

Old generation Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π΅Π³ΠΈΠΎΠ½ Tenured.

Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создаСм Π² Java ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Eden. Если ΠΌΡ‹ создали ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π² Eden ΡƒΠΆΠ΅ Π½Π΅Ρ‚ мСста, срабатываСт сборщик мусора ΠΈ освобоТдаСт ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π­Ρ‚ΠΎ, Ρ‚Π°ΠΊ называСмая, малая сборка мусора β€” Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΎΠ½ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Eden ΠΈ ΠΊΠ»Π°Π΄Ρ‘Ρ‚ β€œΠ²Ρ‹ΠΆΠΈΠ²ΡˆΠΈΠ΅β€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ€Π΅Π³ΠΈΠΎΠ½ Survivor 0. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½ Eden ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ высвобоТдаСтся.

Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Eden снова Π±Ρ‹Π»Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°, garbage collector Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Eden ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Survivor 0, которая занята Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ПослС очищСния Π²Ρ‹ΠΆΠΈΠ²ΡˆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½ β€” Survivor 1, Π° Π΄Π²Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… останутся чистыми. ΠŸΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сборкС мусора Π² качСствС Ρ€Π΅Π³ΠΈΠΎΠ½Π° назначСния ΠΎΠΏΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Survivor 0. ИмСнно поэтому Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² Survivor всСгда Π±Ρ‹Π» пустым.

JVM слСдит Π·Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ постоянно ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. И для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, послС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€ΠΎΠ³Π° сборщик мусора ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ€Π΅Π³ΠΈΠΎΠ½ Tenured.

Когда Π² Tenured мСста для Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, происходит полная сборка мусора β€” Mark-Sweep-Compact.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. image loader. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° java Π² linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Java, трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (java development kit β€” Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Java). Π•Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ с сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle. НапримСр, JDK восьмой вСрсии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Π’ΠΎ врСмя этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° опрСдСляСтся, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ€Π΅Π³ΠΈΠΎΠ½ очищаСтся ΠΎΡ‚ этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Tenured дСфрагмСнтируСтся, Ρ‚.Π΅. ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заполняСтся Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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