ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° 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. ΠΠ½Π° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ², Π²Π΅Π΄Ρ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π³ΠΎΠ΄ΠΎΠΌ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°Π΄ ΡΡΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠΈΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, Π° Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΊΡΡΠ³ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΠΈΠ½ΡΠΊΡΡ Π²Π»Π°Π΄Π΅ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΡΠ΅ΠΌ ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠΏΠΎΠ½Π΅Π½ΡΡ β Mac ΠΈ Windows. ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ Π΄ΠΆΠ°Π²ΠΈΡΡ ΠΈ ΡΠΎΠΆΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡ ΠΊ Π»ΠΈΠ½ΡΠΊΡΠΎΠΈΠ΄Π°ΠΌ, Π·Π½Π°ΡΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π₯Π²Π°ΡΠΈΡ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π² Google Β«linux java ideΒ» β ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ΅ ΡΡΠΎ Π½ΠΈΠΆΠ΅!
ΠΠΎΠ²ΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠΈΠ²
ΠΠΎ ΠΊΡΠΈΡΠΈΠΊΠ΅, ΠΎΠ±ΡΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Linux ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΡΠ°ΡΡ ΡΠ°Π·Π²Π΅ ΡΡΠΎ Ρ Windows. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΆΠ°Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ: ΡΠΎ, ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows, Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΡΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Linux. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΈ ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ½ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΏΡΠ³ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Linux.
Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ Linux, Π½Π°Π·ΡΠ²Π°ΡΡ:
ΡΡΡΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΎΡ ΡΠ΅Π·ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π²ΡΡΠ°ΡΡ ΠΈΠ· ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ Photoshop ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ΅Π½ Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΠΈ, ΡΠΎ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ°Π·Ρ Π»ΠΎΠΌΠ°Π΅ΡΡΡ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠΈ Β«ΠΏΡΠΎΡΡΡΠΌΠΈΒ» ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΡΠΈ OS ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ. ΠΠ½ΠΎΠ³Π΄Π°, Π΄Π°ΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΏΡΠ΅ΡΠ»ΠΎΠ²ΡΡΠΎΠ³ΠΎ Windows. Π‘ΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Β«ΠΎΠΆΠΈΠ²Π°ΡΡΒ», ΠΊΠΎΠ³Π΄Π° Π½Π° Π½Π΅Π³ΠΎ ΠΏΡΡΠΌΡΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²;
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ Π΄Π΅Π²Π°ΠΉΡΠΎΠ². Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Β«ΠΎΡΠ΅ΠΉΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π²Π΅Π½Π΄ΠΎΡ β ΡΠΎΡ, ΠΊΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Linux Π½Π΅ Π²ΠΈΠ΄ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ, ΡΡΠΎ Π²ΠΈΠ½Π° Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ, Π° Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π½Π° ΡΡΠ½ΠΊΠ΅ ΡΠΆΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ Ρ Linux-ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ;
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! ΠΠ΅Π΄Ρ ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π΄Π΅ΡΠ΅Π²Π»Π΅, ΡΠ΅ΠΌ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½. ΠΠ»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½Π° ΠΈ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡ ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠ±ΡΠ°ΡΡ Π»ΡΡΡΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΠΠΈΠ½ΡΠΊΡ.
Π’ΠΎΠΏ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ
Π‘Π΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ ΡΠΎΠΏ-Π»ΠΈΡΡ ΡΡΠ΅Π΄ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΠΠΈΠ½ΡΠΊΡ ΡΠ΅ΠΌ-ΡΠΎ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ ΡΠΊΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΠΊΡΡΡ ΠΊΡΠ°ΡΠΎΡΡ: Π±Π΅Π· ΡΠΈΡΡΠ»Π° Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΡΠ°ΡΡΠ½ΠΈΠΊ. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π·Π°ΡΠ΅ΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ IDE, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²? ΠΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ Π΄Π»Ρ Linux ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΡ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΠΊΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΎΠ»Ρ.
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 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠ»Π°Π³ΠΈΠ½.
Π£ 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, Π½ΠΎ Ρ Π½ΠΈΠΌ ΠΌΡ Π²ΡΡΡΠ΅ΡΠΈΠΌΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π·ΠΎΡΠ°Ρ . Π ΠΏΠΎΠΊΠ° Π²ΡΠ΅!
JavaScript. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ JavaScript Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Full-Stack ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ JavaScript Π±Π»ΠΎΠ³Π°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π½ΡΠ»Ρ Π½Π° JavaScript, NodeJS, ExpressJS
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Java ΠΏΠΎΠ΄ Linux
ΠΡ Π²ΠΎΡ, ΡΠΏΠΎΡ Π° ΠΌΠΎΠ΅Π³ΠΎ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΊΠ΅ΠΉΡΡΠ²Π° ΠΏΠΎΠ΄ΠΎΡΠ»Π° ΠΊ ΠΊΠΎΠ½ΡΡ. Π‘Π½ΠΎΠ²Π° Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΡΠ΅, Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π»ΡΠ±ΠΈΠΌΠΎΠΉ java, ΠΏΡΠ°Π²Π΄Π°, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΠΊΠΈΠΌ Π³ΠΎΡΡΠΊΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π²ΠΊΡΡΠΈΠ΅ΠΌ. Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΠΠ Π΄Π»Ρ Π±Π°Π½ΠΊΠΎΠ² ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡ ΠΎΠ΄Ρ ΠΊ 1Π‘, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅ΡΠΊΠ°Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΈΡΡ ΡΡΠΆΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ 1Π‘, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄ΠΆΠ°Π²Π΅. ΠΠ°Π΄Π½ΠΎ, Ρ ΠΎΡΡ ΠΌΠΎΠ·Π³ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡ, Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° Π·Π°Π²Π΅Π΄Π΅Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ΡΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠΎΡΠ°Ρ , ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ΄ ΠΠΈΠ½ΡΠΊΡΠΎΠΌ. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ Π² ΠΎΡΠΈΡΠ΅ Π»ΡΠ±ΠΈΠΌΡΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠΌ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Mint, ΡΠΆ Ρ ΡΠ΅ΠΌ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ½ΡΡΡ. Π£ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ Π£Π±ΡΠ½ΡΡ ΡΠΆ ΡΠ²Π½ΠΎ ΠΏΡΡΡ Π² Π½ΠΈΠΊΡΠ΄Π°, ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ apt ΡΠΆΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»Π΅Π½ΠΈΡΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Ρ Π² Debian ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ΅Π±Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ ΠΎΡΡΡΠ°ΡΡ.
ΠΡ ΡΡΠΎ ΠΏΠΎΠ΄Π΅Π»Π°ΡΡ, 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.
Π ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ.
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. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»Π°ΡΡΡ.
ΠΠ΅ΡΠ°ΡΡ ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ΅ΡΠ²ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² β ΡΡΠΎ 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, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΠ΅ΠΉΠΌ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΡΠ΅ΠΊΠ΅, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°Π΄Π΅ΡΡΡ Π½Π° Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠ½Ρ. ΠΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΠ½ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ΅ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°, Java Π±ΡΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ java.lang.StackOverFlowError. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΡΠ΅ΠΊΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Ρ Π²Π°ΡΠ°ΡΡ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ΅ΠΊΠ°:
ΠΡΡΠ° ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡΠΌΠΈ:
ΠΠΎΡΠ΅ΠΌΡ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ Permanent generation? Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΡΠΎ ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ: ΡΠ°ΠΊ ΠΊΠ°ΠΊ Perm ΠΈΠΌΠ΅Π» ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π½Π΅ ΠΌΠΎΠ³ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΠ°ΠΌΡΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π»Π°ΡΡ, ΠΊΠΈΠ΄Π°Π»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π»ΠΎ.
Meta space ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ Π΄ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ JVM.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΡΡΠΈ:
ΠΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΡΡΠ΅, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ App, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ main ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·:
β ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΠΎΠΉ id ΡΠΈΠΏΠ° int ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 23
β ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ pName ΡΠΈΠΏΠ° String ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Jon
β ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ p ΡΠΈΠΏΠ° person
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΡ 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().
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎ Π²ΡΡΠ΅, ΠΊΡΡΠ° ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° 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.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΠ΅Π³ΠΈΠΎΠ½ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Tenured Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ, Ρ.Π΅. ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.