Java Guru πŸ€“
13.2K subscribers
898 photos
15 videos
772 links
Канал с вопросами ΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ с собСсСдований!

По сотрудничСству ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @NadikaKir

Канал Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ РКН: https://vk.cc/cJrSQZ

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Каким Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции ΠΈ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
Anonymous Quiz
41%
3,3
3%
0,0
4%
0,3
18%
3,0
8%
Ошибка выполнСния
26%
Ошибка компиляции
πŸ‘26πŸ”₯4πŸŽ‰2
Π’ Ρ‡Π΅ΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Map Π² сравнСнии с Set ΠΈ List?

Map Π½Π΅ являСтся наслСдником интСрфСйсов Collection ΠΈΠ»ΠΈ Iterable. Π’Π°ΠΊ ΠΆΠ΅ Map Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. БоотвСтствСнно доступ ΠΊ элСмСнтам происходит Π½Π΅ ΠΏΠΎ индСксу, Π° ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта всСгда Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ использовании HashMap ΠΈ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ - ситуации ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ доступСн ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Ρ‚ΠΎΡ‚ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ΅Π½).
πŸ‘32
Π’ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ HashMap ΠΈ Hashtable?

Hashtable потокобСзопасна ΠΈ синхронизирована, Π½ΠΎ ΠΈΠ·-Π·Π° этого тСряСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π’Ρ‹ Π½Π΅ смоТСтС Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null-null, Π² HashMap это доступно. Π£ HashMap Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° - ConcurrentHashMap которая являСтся потокобСзопасной. Π’ Ρ†Π΅Π»ΠΎΠΌ Hashtable Π±ΠΎΠ»Π΅Π΅ старый класс ΠΈ появился Π² Java Π΄ΠΎ ввСдСния Collection framework Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ HashMap Π² частности.
πŸ‘31
КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹?

Π›ΠΈΡ‚Π΅Ρ€Π°Π» – ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ строки).

⏺ ЦСлочислСнныС (Integer). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹: 2019, 1__000_000 (с Java 7), 10048L (ΠΌΠΎΠΆΠ½ΠΎ l, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ с 1), 0xfd12aa, 0b1011101, 07654321.

⏺ Π‘ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (floating-point). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹: 123.4, 56.7e8, .07, 42F, 1.4D (ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Ρ‚Π°ΠΊ double).

⏺ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ строки. Π‘ΠΈΠΌΠ²ΠΎΠ» (char) – Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…: 'R'. БпСцсимволы ΠΏΠΈΡˆΡƒΡ‚ΡΡ с бэкслСшСм: '\n'. Π›ΡŽΠ±ΠΎΠΉ символ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: '\u00F1'. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π» – ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…: "Blabla". Для символов строки Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

⏺ ЛогичСскиС (boolean). true ΠΈ false.

⏺ Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π» null.

ВсС Π½ΡŽΠ°Π½ΡΡ‹ описаны Π²
ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘25❀‍πŸ”₯1
Какая Π΅ΡΡ‚ΡŒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρƒ Queue? КакиС порядки упорядочивания элСмСнтов Queue Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅?

Queue - коллСкция, хранящая элСмСнты Π² порядкС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π΄Π²Π° порядка для упорядочивания элСмСнтов - LIFO(last-in-first-out) ΠΈ FIFO(first-in-first-out) - основныС отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ LIFO элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» вставлСн послСдний, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΆΠ΅ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½/ΡƒΠ΄Π°Π»Π΅Π½. ΠŸΡ€ΠΈ FIFO ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вставлСнный элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½(ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ element() ΠΈ peek()) Π»ΠΈΠ±ΠΎ ΡƒΠ΄Π°Π»Π΅Π½(remove() ΠΈ poll()).
πŸ‘22
Когда стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ char[] вмСсто String?

ΠŸΠ΅Ρ€Π²Π°Ρ, очСвидная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° – оптимизация. Если Π²Π°ΠΌ Π·Π°Ρ€Π°Π½Π΅Π΅ извСстСн Ρ€Π°Π·ΠΌΠ΅Ρ€ строки, ΠΈ ΠΎΠ½ фиксирован, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ массив. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с нСизмСняСмыми подстроками, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ offset-ΠΎΠ² ΠΎΠ±Ρ‰Π΅Π³ΠΎ массива (ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано Ρ€Π°Π½ΡŒΡˆΠ΅ Π² самом String).

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ осознанно ΠΈ своСврСмСнно. JVM Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ усилия ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ строк (Π²Ρ€ΠΎΠ΄Π΅ интСрнирования), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ эффСктивнСС Π²Π°ΡˆΠΈΡ….

Вторая, ΠΌΠ΅Π½Π΅Π΅ очСвидная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° – Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Java ΠΈΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сохраняСтС ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ‚ΠΈΠΏΠ° String, физичСски ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· памяти ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сборщик мусора.

БущСствуСт способ алгоритмичСской Π°Ρ‚Π°ΠΊΠΈ Π½Π° систСму, ΠΊΠΎΠ³Π΄Π° Ρ…Π°ΠΊΠ΅Ρ€ своими дСйствиями Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ памяти, ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ информация ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² heap dump.

Если ΠΏΠ°Ρ€ΠΎΠ»ΡŒ хранится Π² массивС, программист ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Β«Π·Π°Π½ΡƒΠ»ΠΈΡ‚ΡŒΒ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС использования.
πŸ‘45
Как ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ криптографичСский ΠΊΠ»ΡŽΡ‡?

KeyFactory
– основной класс ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с криптографичСскими ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Набор Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ для этой Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° SPI.

БущСствуСт большоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ: DSA, RSA, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π‘Ρ‚Ρ€ΠΎΠΊΠ°-Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поставляСтся Π² Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€ΠΈ Π΅Ρ‘ создании.

KeyFactory занимаСтся ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ спСцификации ΠΊΠ»ΡŽΡ‡Π° Π² сам ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

БпСцификация, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ интСрфСйса KeySpec, – Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ экспонСнта ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°
RSA.

Π‘Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ прСдставлСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйсы PublicKey ΠΈ PrivateKey – наслСдники ΠΎΠ±Ρ‰Π΅Π³ΠΎ Key.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΡŽΡ‡Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ классы-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйсов.
πŸ‘12πŸ”₯2
Какими способами ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π² Java?

Π’ Java доступны Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° создания ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ· класса - Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ класс Thread Π»ΠΈΠ±ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйсы Callable ΠΈΠ»ΠΈ Runnable.

ΠŸΡ€ΠΈ использовании Thread ΠΌΡ‹ запускаСм ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ start(), Π° описываСм Π»ΠΎΠ³ΠΈΠΊΡƒ выполнСния Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ run().

ΠŸΡ€ΠΈ использовании Runnable ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ run(), Π° Ρƒ Callable - ΠΌΠ΅Ρ‚ΠΎΠ΄ call(). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈ Runnable ΠΈ Callable - интСрфСйсы, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡƒ выполнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²(Runnable ΠΈ Callable ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ интСрфСйсами ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ - run() ΠΈ call() соотвСтствСнно). Π Π°Π·Π½ΠΈΡ†Π° Π² этих Π΄Π²ΡƒΡ… интСрфСйсов Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ Callable Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
πŸ‘31πŸ”₯4🍌1
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€?

Π’ случаС Ссли ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΌΠ΅Π΅ΠΌ синхронизированный ΠΌΠ΅Ρ‚ΠΎΠ΄(ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом syncronized) ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² этот ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚ΠΎ этот ΠΏΠΎΡ‚ΠΎΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нашим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ "ΠΆΠ΄Π°Ρ‚ΡŒ" ΠΏΠΎΠΊΠ° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. ΠŸΡ€ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ говорят: "Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ занят ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ". ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π² Java - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС - ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‡Ρ‚ΠΎ синхронизированный Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ стал нСдоступСн, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° стал доступСн послС выполнСния, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Ссли синхронизированный Π±Π»ΠΎΠΊ занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ.
πŸ‘33
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
πŸ‘17
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
Anonymous Quiz
24%
Equal
66%
Not equal
9%
Ошибка компиляции
πŸ‘30
КакиС Π΅ΡΡ‚ΡŒ способы синхронизации Π² Java?

Π’ Java сущСствуСт нСсколько способов синхронизации:

β€’ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ/Π±Π»ΠΎΠΊΡƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ - с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова syncronized

β€’ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово volatile

β€’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ wait/notify/notifyAll

β€’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ классы ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° java.util.concurrent - Π² этом ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ собраны классы Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основана Π½Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… опСрациях.
πŸ‘29
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
πŸ‘10
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
Anonymous Quiz
35%
A is equal to Infinity
23%
A is equal to NaN
28%
ΠžΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ
15%
ΠžΡˆΠΈΠ±ΠΊΡƒ компиляции
πŸ‘14
Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ sleep() ΠΈ wait(), notify() ΠΈ notifyAll() ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ?

ΠœΠ΅Ρ‚ΠΎΠ΄ sleep()заставляСт ΠΏΠΎΡ‚ΠΎΠΊ "Π·Π°ΡΠ½ΡƒΡ‚ΡŒ" Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя(указываСтся Π² миллисСкундах) послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠœΠ΅Ρ‚ΠΎΠ΄ wait() освобоТдаСт ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ занятый ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состояниС waiting - ΠΏΠΎΡ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° notify() ΠΈΠ»ΠΈ notifyAll() Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ notify() ΠΈ notifyAll()Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ notify() "высвободит" ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ(ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСльзя) Π° notifyAll() "освободит" всС ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈΠ· состояния waiting Π² состояниС running.
πŸ‘33πŸ€”1
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
πŸ‘17
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
Anonymous Quiz
7%
Hello
39%
Hello world
13%
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΉΠ΄Π΅Ρ‚ Π² бСсконСчный Ρ†ΠΈΠΊΠ»
41%
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ скомпилируСтся
πŸ‘27
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Dead lock?

Π‘Π»ΡƒΡ‡Π°ΠΉ ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°(A, B) ΠΈ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ(А) Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ a() ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ(Π’) Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ b() ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΏΠΎΡ‚ΠΎΠΊ А пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ b(), Π° ΠΏΠΎΡ‚ΠΎΠΊ B пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π°() Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ dead lock.
πŸ‘34πŸ’―2
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
πŸ‘22πŸ₯΄3🌭1
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°?
Anonymous Quiz
58%
Equal
42%
Not equal
πŸ‘29πŸ₯΄10🌚3
Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΈ-Π΄Π΅ΠΌΠΎΠ½Ρ‹ Π² Java?

ΠŸΠΎΡ‚ΠΎΠΊΠΈ-Π΄Π΅ΠΌΠΎΠ½Ρ‹ это "слуТСбныС" ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ процСссС. Они слуТат для "обСспСчСния всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ" основныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ выполнСния. Π’ случаС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх основных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΠΎΡ‚ΠΎΠΊΠΈ-Π΄Π΅ΠΌΠΎΠ½Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ автоматичСски, Π½Π΅ доТидаясь окончания ΠΈΡ… выполнСния.
πŸ‘32