ΠΠ° ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠ·ΡΠΊ java
Π£ΡΠΎΠΊ 2. ΠΠ±Π·ΠΎΡ Java: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠ½ΡΠΌ Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π² java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ ΠΊΡΠ°ΡΠΊΠΎ, ΡΡΠΎ ΡΡΠΎ Π·Π° ΡΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ·ΡΠΊΠ° java. Π―Π·ΡΠΊ Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems, ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΠΈ Π²ΡΠΏΡΡΠ΅Π½ Π² 1995 Π³ΠΎΠ΄Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Microsystems β Java ΠΏΠ»Π°ΡΡΠΎΡΠΌ (Java 1.0 [J2SE]).
ΠΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° 2017 Π³ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Java Standard Edition ΡΠ²Π»ΡΠ΅ΡΡΡ 8 (J2SE). Π‘ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Java, ΠΈ Π΅Ρ ΡΠΈΡΠΎΠΊΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: J2EE β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ, J2ME β Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Sun Microsystems ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»Π° ΠΏΡΠ΅ΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ J2 ΠΈ Π²Π²Π΅Π»Π° Π½ΠΎΠ²ΡΠ΅: Java SE, Java EE ΠΈ Java ME. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π»ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΠΉ ΡΠ»ΠΎΠ³Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«ΠΠ°ΠΏΠΈΡΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π·Π°ΠΏΡΡΠΊΠ°ΠΉ Π²Π΅Π·Π΄Π΅Β».
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Java
ΠΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Java ΡΡΠΈΡΠ°Π΅ΡΡΡ 23 ΠΌΠ°Ρ 1995 Π³ΠΎΠ΄Π°, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Java 1.0. ΠΠ½Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π»Π° Β«ΠΠ°ΠΏΠΈΡΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π·Π°ΠΏΡΡΠΊΠ°ΠΉ Π²Π΅Π·Π΄Π΅Β», ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ .
13 Π½ΠΎΡΠ±ΡΡ 2006 Π³ΠΎΠ΄Π°, Sun Π²ΡΠΏΡΡΡΠΈΠ»Π° Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΈ ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ GNU General Public License (GPL).
ΠΠΎΡΠ»Π΅ 8 ΠΌΠ°Ρ 2007 Π³ΠΎΠ΄Π° ΡΡΠ΄ΡΠ±Π° Java ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ ΠΈΠ½Π°ΡΠ΅. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΠ»Π° ΠΏΡΠΎΡΠ΅ΡΡ, Π΄Π΅Π»Π°Ρ Π²ΡΠ΅ ΡΡΠΎΠ±Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ» Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ ΠΈ ΠΎΡΠΊΡΡΡΡΠΌ, ΠΊΡΠΎΠΌΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π»Π° Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π².
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° Java: ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ: Π² Π΄ΠΆΠ°Π²Π° Π²ΡΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ: Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ C ΠΈ C++, Java, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½, ΠΎΠ½ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π° Π² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π΅. ΠΡΠΎΡ Π±Π°ΠΉΡ ΠΊΠΎΠ΄ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π² Java Virtual Machine (JVM), Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎΡΡΠΎΠΉ: ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ. ΠΡΠ»ΠΈ ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΠ°Ρ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ: ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ-Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠΌ: ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ-Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ°ΠΉΠ»Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ , Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ΅ Java Runtime.
ΠΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ: Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ-Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ β Π²ΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Java ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΠΌ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² Java Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ANSI C Ρ ΡΠΈΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ POSIX.
ΠΡΠΎΡΠ½ΡΠΉ: ΠΏΡΠΈΠ»Π°Π³Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , Π΄Π΅Π»Π°Ρ ΡΠΏΠΎΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ: ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°Π΄Π°Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ Java ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ: Java Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π»Π΅ΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ. ΠΠ΅Π»Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΌ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ Π²Π΅ΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Just-In-Time ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ: ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π½Π° C ΠΈΠ»ΠΈ C++, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΊ ΠΌΠ΅Π½ΡΡΡΠΈΠΌΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΠ±Π·ΠΎΡΠ° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ Java, ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅, ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Pentium 200 ΠΠΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ 64 ΠΠ± (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ 128 ΠΠ±).
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅:
Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ GUI, ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ²ΡΠΈΡΡ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° Java, ΠΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΡΠΎΠΊ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΠ°Ρ Π²Π΅ΡΡΠΈ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΠΎΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ΅Ρ ΠΠ°Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java
JavaJava Standard Edition 6 (1.6.14)
Java β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ 23 ΠΌΠ°Ρ 1995 Π³ΠΎΠ΄Π°. Π ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠ΅Π½ΠΈΡ Π² ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΡΠ΄Π΅ Π΄ΡΡΠ³ΠΈΡ , ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π½ΠΎΡΠΌΡ β Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½Π°Ρ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½Π°Ρ /ΛdΚΙΛvΙ/ [1] ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ-Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Β«Π―Π²Π°Β», ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½ΠΎΠΌΡ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΡΡΠΎΠ²Π° Π―Π²Π°.
Java β ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ ΡΠ·ΡΠΊ, Π½ΠΎ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π»ΡΡ Oak (ΡΡΡΡΠΊ. ΠΡΠ± ) ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ ΠΠΆΠ΅ΠΉΠΌΡΠΎΠΌ ΠΠΎΡΠ»ΠΈΠ½Π³ΠΎΠΌ Π΄Π»Ρ Π±ΡΡΠΎΠ²ΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ, Π½ΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Java ΠΈ ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°Π·Π²Π°Π½ Π² ΡΠ΅ΡΡΡ ΠΌΠ°ΡΠΊΠΈ ΠΊΠΎΡΠ΅ Java, Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΌΠ±Π»Π΅ΠΌΠ΅ ΡΠ·ΡΠΊΠ° Java ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΠ°ΡΠΊΠ° Ρ Π΄ΡΠΌΡΡΠΈΠΌΡΡ ΠΊΠΎΡΠ΅.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Java ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ java-ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ (JVM) β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π½ΠΎ Ρ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ, ΡΡΠΎ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅ΠΊΡΡΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅.
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΠΎΡ ΠΠ‘ ΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΡΡΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΈΠ±ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. ΠΡΠ±ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ) Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Java, Π½Π° ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ) ΠΈΠ· Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°ΠΌΠΈ, ΠΏΡΠΎΠΏΠ°ΠΆΠΈ ΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΈ Ρ. ΠΏ.
Π§Π°ΡΡΠΎ ΠΊ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΎΡΠ½ΠΎΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Java. ΠΠ°Π½Π½ΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π» ΡΡΠ΄ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ: ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ native-ΠΊΠΎΠ΄Π° Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ARM).
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
Java 1.0
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Java Π½Π°ΡΠ°Π»Π°ΡΡ Π² 1990 Π³ΠΎΠ΄Ρ, ΠΏΠ΅ΡΠ²Π°Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ β Java 1.0, β Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² 1995 Π³ΠΎΠ΄Ρ.
Java 2.0
Π 1998 Π³ΠΎΠ΄Ρ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ JDK 1.2, Π²ΡΡΠ΅Π΄ΡΠ°Ρ ΠΏΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Java 2. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
Java 5
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Java 5 Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° Π² ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2004 Π³ΠΎΠ΄Π°. Π Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²Π½Π΅ΡΠ»ΠΈ Π² ΡΠ·ΡΠΊ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ:
ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Java
ΠΠ½ΡΡΡΠΈ Java ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:
Π‘Π°ΠΌΡΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° J2EE.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ 1.6, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Mozilla Rhino (Π°Π½Π³Π».), ΡΠ»ΡΡΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
Java ΠΈ Microsoft
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠΌ. Π. Π. ΠΠ°ΡΠΌΠ°Π½Π°
Bauman National Library
ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΡΡΠΎΡΠΈΡ
ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΠΠ°ΠΉΠΊ Π¨Π΅ΡΠΈΠ΄Π°Π½ ΠΈ ΠΠ°ΡΡΠΈΠΊ ΠΠ΅ΠΉΡΠΎΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ·ΡΠΊΠ° Java Π² 1991 Π³ΠΎΠ΄Ρ. Java Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΡ, Π½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΡΠΌ Π΄Π»Ρ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΠΊΠ°Π±Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊ Π½ΠΎΡΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Oak(Β«ΠΡΠ±Β»), Π² ΡΠ΅ΡΡΡ Π΄Π΅ΡΠ΅Π²Π°, ΡΠΎΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΎΠΊΠ½ΠΎΠΌ ΠΎΡΠΈΡΠ° ΠΠΆΠ΅ΠΉΠΌΡΠ° ΠΠΎΡΠ»ΠΈΠ½Π³Π°. ΠΠΎΠ·ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΌΠ΅Π½ΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π° Green ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Java, Π² ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ΅. ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ ΡΠ΄Π΅Π»Π°Π» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Java Π² ΡΡΠΈΠ»Π΅ C/C++, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π±ΡΠ» Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ.
Π 1997 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Sun Microsystems ΠΎΠ±ΡΠ°ΡΠΈΠ»Π°ΡΡ ΠΊ ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ISO/IEC JTC 1 ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΊ Ecma International Ρ ΡΠ΅Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Java, Π½ΠΎ Π²ΡΠΊΠΎΡΠ΅ ΠΎΡΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΎΡ ΡΡΠΎΠΉ ΠΈΠ΄Π΅ΠΈ. Java ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Π° ΠΏΠΎΠ΄ΡΠΈΠ½ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π΄Π΅-ΡΠ°ΠΊΡΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Java Community Process. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Sun Microsystems ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΠ²ΠΎΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Java, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Sun ΠΏΠΎΠ»ΡΡΠ°Π»Π° Π΄ΠΎΡ ΠΎΠ΄ ΠΎΡ Java Π·Π° ΡΡΠ΅Ρ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Java Enterprise Systems.
13 Π½ΠΎΡΠ±ΡΡ 2006 Π³ΠΎΠ΄Π°, Sun ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΡΠ²ΠΎΠ΅ΠΉ JVM Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (FOSS β Π°Π½Π³Π». Free and Open-Source Software), Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ GNU General Public License. 8 ΠΌΠ°Ρ 2007 Π³ΠΎΠ΄Π° ΠΏΠΎΡΡΠΈ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Java ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Microsystems ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ»ΡΡ ΠΊΠ°ΠΊ FOSS, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π΅ Π±ΡΠ»ΠΎ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π².
ΠΠΈΡΠ΅-ΠΏΡΠ΅Π·ΠΈΠ΄Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Π ΠΈΡ ΠΡΠΈΠ½ Π·Π°ΡΠ²ΠΈΠ», ΡΡΠΎ Sun Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ Β«Π΅Π²Π°Π½Π³Π΅Π»ΠΈΡΡΠ°Β» ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Java. ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Oracle ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ³Π»ΠΎΡΠ΅Π½ΠΈΡ Sun Microsystems ΠΎΠΏΠΈΡΠ°Π»Π° ΡΠ²ΠΎΡ ΡΠΎΠ»Ρ ΠΊΠ°ΠΊ Β«ΡΠ°ΡΠΏΠΎΡΡΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Ρ Π½Π΅ΠΎΡΠ»Π°Π±Π΅Π²Π°ΡΡΠΈΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ ΡΠΎΡΡΠ°ΡΡΠΈΡ ΠΈ ΠΎΡΠΊΡΡΡΠΎΡΡΠΈΒ». [3] ΠΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ Oracle ΠΏΠΎΠ΄Π°Π΅Ρ ΠΈΡΠΊ ΠΏΡΠΎΡΠΈΠ² Google Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Java Π² Android SDK. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° Java ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅Π·Π΄Π΅, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² ΠΈ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Π΅ΠΉ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ. 2 Π°ΠΏΡΠ΅Π»Ρ 2010 Π³ΠΎΠ΄Π° ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ ΡΡΠ΅Π» ΠΈΠ· Oracle.
ΠΡΠΈΠ½ΡΠΈΠΏΡ
ΠΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ², Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ ΡΠ·ΡΠΊ Java:
ΠΠ΅ΡΡΠΈΠΈ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Java ΠΈ Π΄Π°ΡΡ ΠΈΡ Π²ΡΠΏΡΡΠΊΠ°:
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Java
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ Java β ΡΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅Π·Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΡΠΎ Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π½Π΅ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Java-Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² Π² web-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ JVM β Java Runtime Environment (JRE), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΠΎΡΡ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·-Π·Π° Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΠΈΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ·ΡΠΊ Java ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ, Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java (JVM), Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. JVM ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Java Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π‘ΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄ΡΡΠ³ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Java SE-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ β OpenJDK, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenJDK Π½Π°ΡΠ°Π»ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Sun Π²ΡΠΏΡΡΡΠΈΠ»Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Java ΠΏΠΎΠ΄ GPL-Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Java SE 7, OpenJDK ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Java.
ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Java ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ Java EE. Π Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Java EE ΡΡΠ΅Π±ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΡΡΠ΅Π΄Π½ΠΈΡ ΠΈ ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Java ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΡΠ°ΡΠ½ΡΡ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘++. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΡΠΎΡΠ»Π° Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Π²Π΅ΡΡΠΈΠΈ Java 1.1 Π² 1997/1998 Π³ΠΎΠ΄Ρ, Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠ»Π°ΡΡΠ° StringBuilder, ΡΡΠ»ΠΎΠ²Π½ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ (asssertions) ΠΈ Ρ.ΠΏ.) ΠΈ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ JVM (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° β HotSpot β ΡΡΠ°Π»Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Java 1.3).
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Java Π½Π° ΡΡΠΎΠ²Π½Π΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Java-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π°ΠΏΠΏΠ°ΡΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java, ΠΈ ARM-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Java ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Jazelle (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ½ΠΈΠ·ΠΈΠ»Π°ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ ARM-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ²).
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ
Π Java Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Java Π½Π΅ΡΠ΅Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π’ΠΎ Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΡΡΡΠ»ΠΎΠΊ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΡΠ΅ΡΠΊΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ, Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β NullPointerException.
ΠΠ΄Π½Π° ΠΈΠ· ΠΈΠ΄Π΅ΠΉ, Π»Π΅ΠΆΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Java, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·Π±Π°Π²Π»Π΅Π½Ρ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ΡΠ²Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅, Π»ΠΈΠ±ΠΎ ΡΠ²Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΊΡΡΠ΅. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π»ΠΎΠΆΠΈΡΡΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π±ΡΠ» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½, ΡΠΎ Π΅ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ/ΠΈΠ»ΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π° ΠΏΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΌΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ (Π°Π½Π³Π». smart pointer), Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΠΏΡΡΠΆΠ΅Π½ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ². ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ±ΠΎΡ ΠΌΡΡΠΎΡΠ° Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Β«Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Β» ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠ°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ/ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π‘Π±ΠΎΡ ΠΌΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. Π ΠΈΠ΄Π΅Π°Π»Π΅, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. Π‘Π±ΠΎΡ ΠΌΡΡΠΎΡΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΠ· ΠΊΡΡΠΈ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ; ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°. Π Java Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ.
Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ Π‘ ΠΈΠ»ΠΈ Π‘++, Π³Π΄Π΅ Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΈΠΏΠ° long int). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±ΠΎΡΡΠΈΠΊΡ ΠΌΡΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π² ΡΠ΅Π»ΠΎΠΌ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² C ++ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠ°Ρ , Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π² Java Ρ ΡΠ°Π½ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°) ΠΈΠ»ΠΈ Π² ΡΡΠ΅ΠΊΠ΅ (Π² ΡΠ»ΡΡΠ°Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ), ΡΠ°ΠΊ ΠΆΠ΅ Π² ΡΡΠ΅ΠΊΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΡΠ°Π½ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° (ΡΠΌ. Escape-Analysis). ΠΡΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Java, ΠΏΡΠΈΠ½ΡΡΠΎΠ΅ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π Java Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΡΡΠΎΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° HotSpot ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° PS Scavenge. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΡΠ΅ΠΉ. ΠΠ»Ρ 90% ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° Concurrent Mark-Sweep. Oracle ΡΡΡΠ΅ΠΌΠΈΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π° Garbage-first (G1).
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
C++ ΠΎΠΊΠ°Π·Π°Π» ΡΠΈΠ»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Java. ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ C ++, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ³ΠΎ, ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Java Π±ΡΠ» ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ. ΠΠ΅ΡΡ ΠΊΠΎΠ΄ ΠΏΠΈΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΈΠΏΠΎΠ² ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ C ++, Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΆΠ΅, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΡ ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ·ΡΠΊ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Hello World!Β»
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Hello World!Β», Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° Java, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
ΠΡΡΠ΅ΠΊΡ ΠΎΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ args Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° String ), Π½ΠΎ Π·Π°ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π‘ΡΡΠΎΠΊΠ° Β«Hello World!Β» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
ΠΠΏΠΏΠ»Π΅ΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ import Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Java ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ javax.swing.JApplet ΠΈ java.awt.Graphics ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° (Ρ.Π΅. JApplet) Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ (Ρ.Π΅. javax.swing.JApplet).
Π‘Π΅ΡΠ²Π»Π΅ΡΡ
ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΎΡΠ²Π΅ΡΠ° setContentType(String) Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ MIME-ΡΠΈΠΏ Β«text/htmlΒ» Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΅ΡΠΎΠ΄ getWriter() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ PrintWriter, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠ΅ΡΠΎΠ΄ println(String) Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Β«Hello, world!Β» Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Ρlose() ΠΎΠ±ΡΠ΅ΠΊΡΠ° PrintWriter, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΡ Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΠΏΠΎΡΠΎΠΊ ΠΎΡΠ²Π΅ΡΠ°, ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
JavaServer Pages
Π¨Π°Π±Π»ΠΎΠ½Ρ Π² Java (generics)
Π 2004 Π³ΠΎΠ΄Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΡΠ·ΡΠΊ Java ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ J2SE 5.0. ΠΠΎ ΠΈΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΏ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΠ° Object) ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π»ΠΈΠ±ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π»ΠΈΡΡ Π² ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
ΠΡΠΈΡΠΈΠΊΠ°
ΠΡΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java
Π―Π·ΡΠΊ Π΄Π»Ρ ΡΠΌΠ°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
Π―Π·ΡΠΊ Java ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΈ Π½Π΅ΠΏΡΠΎΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ Ρ Π½Π°ΡΠ°Π»Π° 1990-Ρ
Π³ΠΎΠ΄ΠΎΠ². ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Java ΡΠ·ΡΠΊ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π―Π·ΡΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΡΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Java ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ James Arthur Gosling (ΠΠΆΠ΅ΠΉΠΌΡ ΠΡΡΡΡ ΠΠΎΡΠ»ΠΈΠ½Π³), ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΠΎΠΊΡΠΎΡ Π―Π²Π°Β», ΠΊΠ°Π½Π°Π΄ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΎΠ³ΠΎ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π²Π΅Π΄ΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ° ΡΠ·ΡΠΊΠ° Java.
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ ΡΠ·ΡΠΊ Java Π½Π°ΡΠΈΠ½Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Sun Microsystems Π² Π΄Π΅ΠΊΠ°Π±ΡΠ΅ 1990 Π³ΠΎΠ΄Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C ΠΈ C++. ΠΠ½ΠΆΠ΅Π½Π΅Ρ Patrick Naughton (ΠΠ°ΡΡΠΈΠΊ ΠΠΎΡΠΎΠ½, Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ) ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ (James Gosling), ΠΠ°ΠΉΠΊ Π¨Π΅ΡΠΈΠ΄Π°Π½ (Mike SheridaΠΏ), ΠΡΠΈΡ Π£Π°ΡΡ (Chris Warth) ΠΈ ΠΠ΄ Π€ΡΠ°Π½ΠΊ (Ed Frank).
ΠΠΎΠΌΠ°Π½Π΄Π° Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Green Project ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ Π±ΡΡΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ²: ΠΠΈΠ»Π» ΠΠΆΠΎΠΉ (Bill Joy), ΠΡΡΡΡ Π²Π°Π½ Π₯ΠΎΡΡ (Arthur van Hoff), ΠΠΆΠΎΠ½Π°ΡΠ°Π½ ΠΡΠΉΠ½ (Jonathan Payne), Π€ΡΠ°Π½ΠΊ ΠΠ΅Π»Π»ΠΈΠ½ (Frank Yellin) ΠΈ Π’ΠΈΠΌ ΠΠΈΠ½Π΄Ρ ΠΎΠ»ΡΠΌ (Π’lm Lindholm) ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½Π΅ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Java.
ΠΠΎΠΈΡΠΊ Π±Π°Π·Ρ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° C++, Π½ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΠ»Π° Π΅Π³ΠΎ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π² Π‘++ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΡΡΠ½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π·Π°Π΄Π°ΡΠ΅ΠΉ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ½ΠΈ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΡΠ΅ ΡΠΈΠΏΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Java Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ ΠΈΠ· C ΠΈ C ++, Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·ΡΠΊΠΎΠ² Π‘++, Smalltalk and Objective-C.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Oak
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π²ΠΏΠ»ΠΎΡΠ½ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π» Π΅Π³ΠΎ Πak (Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΡΠ±). Π ΡΠ΄ΠΎΠΌ Ρ ΠΎΡΠΈΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ Π΄ΡΠ±. ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΠΆΠ΅ΠΉΠΌΡ, ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΎΡΠΈΡΠ΅, ΠΏΠΎΠ³Π»ΡΠ΄ΡΠ²Π°Π» Π² ΠΎΠΊΠ½ΠΎ ΠΈ Π²ΠΈΠ΄Ρ ΠΊΡΠ΅ΠΏΠΊΠΈΠΉ Π΄ΡΠ±, ΠΈΠ·Π»ΡΡΠ°ΡΡΠΈΠΉ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ»Π΅ΡΠΈΠ΅, ΡΠ΅ΡΠΈΠ» Π½Π°Π·Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ Π² ΡΠ΅ΡΡΡ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π°. Π Π»Π΅ΡΡ 1992 Π³ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΌΠΎΠ³Π»Π° ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Green OS, ΡΠ·ΡΠΊ Oak, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ°, ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ 3 ΡΠ΅Π½ΡΡΠ±ΡΡ 1992 Π³ΠΎΠ΄Π°, Π±ΡΠ»Π° ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° PDA (Personal Digital Assistant, ΠΊΠ°ΡΠΌΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ) ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Star7, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π»ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΡΠΌΠ°ΡΡ-Π°Π³Π΅Π½ΡΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«DukeΒ» Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΡΠΌΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Star7 Π±ΡΠ» ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ΅Π΄ΠΈΠ»ΠΎ ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ, Π½ΠΎ ΠΈΠ·-Π·Π° Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡ Π² ΠΌΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π±ΡΡΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ Π²Π΅ΡΠ½ΡΠ»ΠΎΡΡ ΠΊ Π½Π°ΠΌ Π² Π²ΠΈΠ΄Π΅ ΡΠΌΠ½ΡΡ Π°Π½Π΄ΡΠΎΠΈΠ΄ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Java
1994 Π³ΠΎΠ΄Ρ ΡΠ·ΡΠΊ Oak Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«OakΒ» ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠ³ΠΎΠ²Π°Ρ ΠΌΠ°ΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oak Technology (Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²). Oak Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Java, Π² ΡΠ΅ΡΡΡ ΠΌΠ°ΡΠΊΠΈ ΠΊΠΎΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΡΠΎΠ²Π° Π―Π²Π°. ΠΠΎΡΡΠΎΠΌΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΌΠ±Π»Π΅ΠΌΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΠ°ΡΠΊΠ° Ρ Π³ΠΎΡΡΡΠΈΠΌ ΠΊΠΎΡΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΡΡΡΠ»ΠΈΠ²ΡΠΌ Π½Π°ΠΌΠ΅ΠΊΠΎΠΌ Π½Π° ΠΊΠΎΡΠ΅-ΠΌΠ°ΡΠΈΠ½Ρ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ Java 1.0 Π±ΡΠ»Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΡΡΠ΅Π½Π° Π² 1996 Π³ΠΎΠ΄Ρ.
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ Java
ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ·ΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ. ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ BASIC, COBOL ΠΈ FORTRAN Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π±Π΅Π· ΡΡΠ΅ΡΠ° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Pascal Π½Π΅ Π±ΡΠ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π―Π·ΡΠΊ Π‘++ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ°Π» ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎ ΡΡΡΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π‘ ΠΈ Π‘++ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌ, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠΈΠΌ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ·ΡΠΊΠΎΠΌ. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π Π² ΠΈΡΠΎΠ³Π΅ ΠΈΡ ΡΡΠΈΠ»ΠΈΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π² ΠΌΠΈΡΠ΅ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Java.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Java
Java ΠΈ Π‘++
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ JΠ°vΠ° ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ ΡΠ·ΡΠΊΠΎΠ² Π‘ ΠΈ Π‘++. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ ΡΠ·ΡΠΊΡ Java ΠΏΡΠΈΡΡΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ. Π₯ΠΎΡΡ Π‘++ ΠΎΠΊΠ°Π·Π°Π» Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ JΠ°vΠ°, Π½ΠΎ Π²ΡΡ ΠΆΠ΅ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π‘++. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Ρ Π½Π΅Π³ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡ ΠΎΠ΄ΡΡΠ² Ρ ΡΠ·ΡΠΊΠΎΠΌ Π‘++, ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π‘++ Π±ΡΠ΄Π΅Ρ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ°.
ΠΠΎ Π΅ΡΡΡ ΠΈ ΠΊΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ Π΄Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ²: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° C++ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ C++ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ·ΡΠΊΠΎΠΌ. Π Java ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΡΡΠ΅Π΄ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Java Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ·ΡΠΊΠΎΠΌ. Π―Π·ΡΠΊ JΠ°vΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π½Π΅ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ Π‘++, Π° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊ Π‘++ Π½Π΅ Π³ΠΎΠ΄ΠΈΡΡΡ.
Java ΠΈ C#
Π―Π·ΡΠΊΠΈ C# ΠΈ Java ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π―Π·ΡΠΊ Java Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ C#. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Java ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π½Π° ΠΎΠΏΡΡ ΡΠ·ΡΠΊΠΎΠ² Objective-C ΠΈ C, Π‘++, ΡΠΎ Π΄Π»Ρ C# ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠΎΡΠΎΠΉ ΡΠΆΠ΅ ΡΠ²Π»ΡΠ»ΠΈΡΡ C++ ΠΈ ΡΠ°ΠΌ Java. Π, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, C# ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ Java, ΡΠ΅ΠΌ ΠΊ C++.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠ·ΡΠΊΠΈ Java ΠΈ C# ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ. ΠΠ±Π° ΡΠ·ΡΠΊΠ° ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ. ΠΠ±Π° ΡΠ·ΡΠΊΠ° ΠΎΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°. ΠΠ±Π° ΡΠ·ΡΠΊΠ° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ Π±ΠΎΠ³Π°ΡΡΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎ Π΅ΡΡΡ Π² ΡΠ·ΡΠΊΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ. C# ΡΡΡΠ» ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Java, ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ ΠΈ Java Π½Π΅ ΡΡΠΎΠΈΡ Π½Π° ΠΌΠ΅ΡΡΠ΅, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ C#.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Java
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ·ΡΠΊ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Java Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ. 3 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π° ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ JavaβΠ΄ΠΎΠΌΠ°, Π² Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ ΠΈ ΠΎΡΠΈΡΠ΅. 12 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Java ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. ΠΠ΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ Π΄Π»Ρ Java Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΡΠΈΠΌΠ΅ΡΡΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Π²ΡΠΏΡΡΠΊΠ°. Java ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΏΠ΅ΡΠ½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ 20 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ±ΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ: Π½Π°ΡΡΡΡ Β«ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎΒ» ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΡΠΈΡΡ, Π½ΠΎ ΡΡΠΎ Java Β«ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Β» β Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ.
- ΠΠΎΠ½Π°ΡΡΡΡΡ Π°Ρ ΠΏΠ°Ρ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ»Π°Π²ΠΈΠ»ΡΡ
- ΠΠ° ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ
ΠΠ»Π°ΡΡ ΡΠ·ΡΠΊΠ°: |
---|