ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π’ΠΎΡΠ΅ΠΌΡŒ ΠΌΠΈΡ„ΠΎΠ² ΠΏΡ€ΠΎ Java

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для сигнализации ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Java ΠΏΡ€ΠΈΠ±Π΅Π³Π°Π΅Ρ‚ ΠΊ ΠΌΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ это Π½Π΅ΠΊΠΎΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сигнализируСт ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования (ΠΈ API) для сигнализации ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΠ»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ). Код Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ значСния Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ оказываСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌ с ΠΊΠΎΠ΄ΠΎΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π’ΠΎΡΠ΅ΠΌΡŒ ΠΌΠΈΡ„ΠΎΠ² ΠΏΡ€ΠΎ Java (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ΠΎΡΠ΅ΠΌΡŒ ΠΌΠΈΡ„ΠΎΠ² ΠΏΡ€ΠΎ Java

Java ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Π­Ρ‚ΠΎ довольно старый ΠΌΠΈΡ„, Π½ΠΎ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» ΠΏΡ€Π°Π²Π΄ΠΎΠΉ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполнялся Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java, Π±Ρ‹Π»ΠΈ Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ язык Java ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π½Π΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ ΠΈΡ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π° ΠΊΠ°ΠΊ нСкая ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств, Π³Π΄Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Ρ‹Π»Π° Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°, Π° ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹. Π Π°Π·Π½ΠΈΡ†Π° Π² ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ выполнСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Java ΠΌΠΎΠ³Π»Π° Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ сотСн Ρ€Π°Π·. Но Π½Π΅ΡΠΌΠΎΡ‚ря Π½Π° ΡΡ‚ΠΎ, Π² Π½Π°ΡΡ‚оящСС врСмя ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π½Π° ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… уступаСт Π»ΡƒΡ‡ΡˆΠΈΠΌ компиляторам ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² всСго лишь Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ дСсятков ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ², Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π΄Π°ΠΆΠ΅ ΠΈ ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΡ…! НСуТСли интСрпрСтация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠ³Π½Π°Ρ‚ΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ? РазумССтся, Π½Π΅Ρ‚. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Java Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΆΠ΅ Π½Π΅ ΠΈΠ½Ρ‚СрпрСтируСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной, Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ся Π΄Π° Π΅Ρ‰Π΅ ΠΈ ΠΎΠΏΡ‚имизируСтся, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ динамичСски, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ собираСмых Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. По Ρ‚Сстам Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚Ρ€Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Java вСсьма Π½Π΅ΠΏΠ»ΠΎΡ…Π°, Π½ΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ обстоят Π΄Π΅Π»Π° с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями? К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ прилоТСниями Π΄Π΅Π»Π° обстоят Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠΌΡƒ мСдлСнная Ρ€Π°Π±ΠΎΡ‚Π° графичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы.

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

На Java слоТно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

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

Π―Π·Ρ‹ΠΊ программирования Java являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. По ΡΠΈΠ½Ρ‚аксису ΠΎΠ½ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π‘ΠΈ++. ΠŸΡ€ΠΈ этом ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ, приводящий ΠΊ ΠΎΡˆΠΈΠ±ΠΊΠ°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π‘ΠΈ++ (Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ мноТСствСнноС наслСдованиС) ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½. ВмСсто мноТСствСнного наслСдования Π² Java примСняСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ простая концСпция интСрфСйса, Ρ‚. Π΅. ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ соглашСния ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ½Π° Π³ΠΎΡ€Π°Π·Π΄ΠΎ строТС Π‘ΠΈ++ относится ΠΊ Π½Π΅Π±Ρ€Π΅ΠΆΠ½ΠΎΡΡ‚ям Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ участком ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΆΠ΅ Java Π½Π΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

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

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

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

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

Java Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Π·Π΄Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ

БоздаСшь ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ (Write once run anywhere). Вторая Ρ‡Π°ΡΡ‚ΡŒ этого Π»ΠΎΠ·ΡƒΠ½Π³Π° создатСлСй Java содСрТит ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Π·Π΄Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС Π½Π΅ Ρ‚Π°ΠΊ просто. Java-ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΠ• стопроцСнтно совмСстимы Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Java-машин Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΠΈ, ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (AWT). Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π΄Π°ΠΆΠ΅ ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Π½ΠΎ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. НапримСр, программист ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΠΎΠΉ машинС Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΠΎΠΉ. Особо слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Java-ΠΌΠ°ΡˆΠΈΠ½Ρƒ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft (Π΄Π°Π»Π΅Π΅ MS JVM). Она носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Java Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π·Π°ΠΊΠΎΠ½Π½ΠΎ (Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ суда). Π’ MS JVM Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ RMI ΠΈΠ»ΠΈ CORBA, Π·Π°Ρ‚ΠΎ здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ActiveX Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Windows ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ. Microsoft Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Java-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Windows.

НСльзя Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Java-машин. Π­Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹ΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ. Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ прост: ΠΏΡ€ΠΈ создании Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ слСдуСт Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСстандартными Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ языка.

Java это язык программирования

БущСствуСт ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Java это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΈΠΉ язык программирования. Но ΡΡ‚ΠΎ всСго лишь Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Π”Π°, Java это Π΅Ρ‰Π΅ ΠΈ ΡΠ·Ρ‹ΠΊ программирования. Π­Ρ‚ΠΎ ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ спСктр Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

Java это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, соврСмСнная программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту стрСмящаяся Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π² ΡΠΊΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ (хотя ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ, Π½ΠΎ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ»ΠΈΡΡŒ). Основной ΠΊΠΎΠ½Π΅ΠΊ Java ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‚. Π΅. Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

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

Java младшая сСстра Π‘ΠΈ++

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ язык программирования Java Π²Π΅Π΄Π΅Ρ‚ своС происхоТдСниС ΠΎΡ‚ Π‘ΠΈ++? Π‘ΠΊΠΎΡ€Π΅Π΅ Π½Π΅Ρ‚, Ρ‡Π΅ΠΌ Π΄Π°. ИдСя Sun Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Java, сдСлав Π΅Π΅ ΡΠΈΠ½Ρ‚аксис ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнном языкС программирования. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Java Π‘ΠΈ-программистов. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π² Java Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚Ρ‹Π΅ ΠΈΠ· Ρ€ΡΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΠΈ ΡΠ·Ρ‹ΠΊΠΎΠ² программирования. Π’Π·ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ массива (Паскаль). Или Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ компиляция Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ являСтся Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ, классы Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ. Π­Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования (ΠΊΠ°ΠΊ, скаТСм, Π² ΠœΠΎΠ΄ΡƒΠ»Π΅-2), ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΡΡ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ нСзависимой компиляции Ρ„Π°ΠΉΠ»ΠΎΠ² Π‘ΠΈ++. НСкоторыС Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ взяты ΠΈΠ· Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½Ρ‹Ρ… ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ языков ΠΈ ΡΠΈΡΡ‚Π΅ΠΌ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ интСрфСйса классов пСрСнСсСн ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° Objective C, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NeXT. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ позаимствован ΠΈΠ· ΠœΠΎΠ΄ΡƒΠ»Ρ‹-3. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ языка Java, ΠΊΠ°ΠΊ сборка мусора, ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚Ρ‹ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΈΠ· Π›ΠΈΡΠΏΠ°. Π§Π°ΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Π­ΠΉΡ„Π΅Π»ΡŒ, ΠœΠΎΠ΄ΡƒΠ»Π°-3, ΠžΠ±Π΅Ρ€ΠΎΠ½, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ располагала этим ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ.

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

Π―Π·Ρ‹ΠΊ Java Π³ΠΎΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°

Java Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ с Π°ΠΏΠ»Π΅Ρ‚Π°ΠΌΠΈ. И Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π°ΠΏΠ»Π΅Ρ‚Ρ‹ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ°ΠΊ языка, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java Π² Ρ†Π΅Π»ΠΎΠΌ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΉ шаг Sun. Π‘Π΅Π· Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΌΠΈΡ€ ΠΎ Java Π½Π΅ ΡƒΠ·Π½Π°Π» Π±Ρ‹ Ρ‚Π°ΠΊ быстро.

ИдСя встраиваСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π³ΠΈΠΏΠ΅Ρ€Ρ‚СкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (HTML) Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ Π½ΠΎΠ²Π°. МногиС Ρ„ΠΈΡ€ΠΌΡ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ свои Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΡΡ‚ΠΎΡ‚ сСктор Ρ€Ρ‹Π½ΠΊΠ°, Π½ΠΎ Π² Π½Π°ΡΡ‚оящСС врСмя ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² Ρƒ Java здСсь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ. На ΡΠ΅Π³ΠΎΠ΄Π½Ρ это, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, JavaScript, ActiveX ΠΈ Ρ‚Схнология Flash. Π”Π²Π΅ послСдниС, ΠΏΡ€Π°Π²Π΄Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π² Java программистов? ΠœΠΎΡ‰Π½Π°Ρ модСль бСзопасности, Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для использования Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, простота программирования. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС Π½Π΅ Ρ‚Π°ΠΊ Ρ€Π°Π΄ΡƒΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹. МодСль бСзопасности, бСзусловно, Π½Π΅ ΠΏΠ»ΠΎΡ…Π°, Π½ΠΎ Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌΠΈ производитСлями, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ΄, прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Ну, Ссли Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Java Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΊΠ°ΠΊ обстоят Π΄Π΅Π»Π° с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π±Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π° ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ прямо Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС? Π—Π΄Π΅ΡΡŒ ситуация похоТая, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соврСмСнной ΠžΠ‘ ΡƒΠΆΠ΅ установлСна какая-Ρ‚ΠΎ вСрсия JVM. И ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ способны ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Ρƒ Π½ΠΈΡ… прилоТСния для JVM, хотя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚ ΠΎ Ρ‚Π°ΠΊΠΎΠΉ возмоТности. НС ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎ сСрвСрныС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ΅Ρ‚Π΅Π²Ρ‹Π΅ прилоТСния. И ΡΡ‚ΠΎ основная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Java Π² Π΄Π°Π½Π½ΠΎΠ΅ врСмя. Под эту ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прилоТСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ уровня, Π½ΠΎ ΠΈ ΡΠ°ΠΌΠΈ сСрвСрныС прилоТСния. А Π΅ΡΠ»ΠΈ сюда ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚скиС прилоТСния ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π°ΠΏΠ»Π΅Ρ‚Ρ‹, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΏΠ»Π΅Ρ‚Ρ‹. Она примСняСтся повсСмСстно, начиная ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ сСрвСром. А Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π­Π’Πœ, Π½ΠΎ ΠΈ Π² ΡΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ…, Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΈ ΡΠΌΠ°Ρ€Ρ‚-ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ…, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ»Π° ΡƒΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ сСкторы Ρ€Ρ‹Π½ΠΊΠ°, Π³Π΄Π΅ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ программирования.

Java ΠΈΠ΄Π΅Π°Π», ΠΎΠ½Π° Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚ся Π² ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΡ…

Java Π±Ρ‹Π»Π° создана Π² 19 941 995 Π³Π³. К ΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ интСнсивноС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π° ΡΡ‡Π΅Ρ‚ пСрсонализации ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚части Π·Π° ΡΡ‡Π΅Ρ‚ распространСния Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Авторы Java ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΉ всС достиТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ индустрии, Π½ΠΎ ΠΈΠ΄Π΅Π°Π», ΠΊΠ°ΠΊ извСстно, нСдостиТим. КоС-Ρ‡Ρ‚ΠΎ всС-Ρ‚Π°ΠΊΠΈ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π·Π° Π±ΠΎΡ€Ρ‚ΠΎΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ Π΄Ρ€. Π’ Π‘ΠΈ++ сущСствуСт срСдство ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условий, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ asset. Π­Ρ‚Π° функция провСряСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ условиС, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ программистом, Π½Π° ΠΈΡΡ‚ΠΈΠ½Ρƒ. Если условиС Π»ΠΎΠΆΠ½ΠΎ, asset останавливаСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ допустимыС условия Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Ρ‹, ΠΏΡ€ΠΈ этом компилятор ΠΏΡ€ΠΈ создании ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π·ΠΎΠ²Ρ‹ asset отбрасываСт. Π’ Java ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ возмоТности Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚. РазумССтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ условий ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π΅, Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всС эти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. БущСствуСт Π±ΠΎΠ»Π΅Π΅ мощная тСхнология, Ρ‡Π΅ΠΌ asset. Π­Ρ‚ΠΎ Design By Contract, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ созданиС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π½Π΅Π΅ созданный ΠΊΠΎΠ΄. Java ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ классов Π² Π‘ΠΈ++ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ класс (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Java Π²ΠΏΠΎΠ»Π½Π΅ осознанно ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΠ², полагая, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½ΠΈΡ… большС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·Ρ‹. ΠŸΡ€ΠΈΠΌ. Ρ€Π΅Π΄.). ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², рСализованная с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблона, Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠ³ΠΎ Π² ΡΡ‚ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Випичная коллСкция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Java Ρ…Ρ€Π°Π½ΠΈΡ‚ экзСмпляры класса Object, ΠΏΡ€Π΅Π΄ΠΊΠ° всСх Java-классов. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, извлСкая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ своим Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ классом. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ прСкрасно Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ программист случайно Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ экзСмпляр ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса. Π’ΠΎΠ³Π΄Π° Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции ошибки Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Π½ΠΎ ΠΎΠ½Π° происходит ΠΏΠΎΠ·Π΄Π½Π΅Π΅, ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ экзСмпляра ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ привСдСния Π΅Π³ΠΎ ΠΊ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. Π’ Π½Π°ΡΡ‚оящСС врСмя Java ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. НС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² Π½Π΅ΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ возмоТностСй.

Java стоит ΠΊΡƒΡ‡Ρƒ Π΄Π΅Π½Π΅Π³

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ тСхнология Java являСтся дорогостоящСй? ВсС зависит ΠΎΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, для нСбольшого прилоТСния (ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ Ρ‚Ρ€Π΅Ρ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-мСсяцСв) Java ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ. БСзусловно, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсплатной эта тСхнология Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся. ΠšΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Java-программист стоит Π΄Π΅Π½Π΅Π³. БущСствуСт ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΡΡ€Π΅Π΄ΡΡ‚Π²Π°Ρ… проСктирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, профилирования Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ создании ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Но, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, конкурСнция Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠŸΠž довольно высока, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ†Π΅Π½Ρ‹ ΡΠ½ΠΈΠΆΠ°ΡŽΡ‚ΡΡ. Π’Ρ‹Π±ΠΎΡ€ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π΅Π½, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ с ΡΠ°ΠΉΡ‚Π° internet.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ