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

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

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

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ /api/customers/{5}, Ссли записи c id 5 Π½Π΅Ρ‚
Anonymous Quiz
27%
HTTP 404 (Not Found) с Ρ‚Π΅Π»ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° null
52%
HTTP 200 (OK) с Ρ‚Π΅Π»ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° null
6%
NullPointerException
8%
HTTP 500 (Internal Server Error)
7%
HTTP 400 (Bad Request)
πŸ”₯6πŸ‘5❀1
This media is not supported in your browser
VIEW IN TELEGRAM
Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΆΠ΅Π»Π΅Π·ΠΎ ΠΈ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ Π½Π° Yandex Robotics Day ΡƒΠΆΠ΅ 16 августа!

На складах ΠœΠ°Ρ€ΠΊΠ΅Ρ‚Π°, Π›Π΅ΠΌΠ°Π½Ρ‹ ΠŸΡ€ΠΎ, ΠŸΠ΅Ρ€Π΅ΠΊΡ€Π΅ΡΡ‚ΠΊΠ°, Π›Π°Π²ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ ЯндСкса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ быстро ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ посылки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎ быстро ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ, спСциалисты ЯндСкс Роботикс постоянно ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ ΠΈΡ….

16 августа Π² МосквС ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΠΌΠΈΡ‚Π°ΠΏ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ расскаТут, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это Π΄Π΅Π»Π°ΡŽΡ‚:
β€” Π‘Π΅Ρ€Ρ‘ΠΆΠ° Π‘Ρ‚Π°Ρ€ΠΈΠΊΠΎΠ² выступит с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΏΡ€ΠΎ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Yandex Robotics ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Yandex RMS
β€” Π”ΠΈΠΌΠ° ΠœΠΎΠ²Ρ‡Π°Π½ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт ΡƒΠΌΠ½ΡƒΡŽ Ρ€ΠΎΠ±ΠΎΡ€ΡƒΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ imitation learning ΠΈ RL
β€” Максим Пшибло расскаТСт, ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Yandex Robotics Management System ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ нСсколькими Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ этой систСмС

ΠšΡ€ΠΎΠΌΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСзСнтация Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°, выставка Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ вовсю Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° складах, Π½Π΅Ρ‚Π²ΠΎΡ€ΠΊΠΈΠ½Π³ ΠΈ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π°Ρ„Ρ‚Π΅ΠΏΠ°Ρ‚ΠΈ с экспСртами ЯндСкс Роботикс.

Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈ Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅Π³!

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО "Π―ΠΠ”Π•ΠšΠ‘ ΠœΠΠ ΠšΠ•Π’". ИНН 9704254424.
❀5πŸ‘1
Π§Ρ‚ΠΎ Ссли Π±Π»ΠΎΠΊ finally выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅?

Π‘Π»ΠΎΠΊ finally выполняСтся Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΎ Π»ΠΈ Π²Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ Π² Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ΅ try ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Когда ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π² try, Π½ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π² finally, Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ интСрСсного. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ попадСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ catch.

Вопрос ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ случай, ΠΊΠΎΠ³Π΄Π° исполнСниС ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² finally Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выброса ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· try. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· finally Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ собой ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· try ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку вмСсто Π½Π΅Π³ΠΎ. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ попросту Π·Π°Π±Ρ‹Ρ‚Π°.

Вакая маскировка ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π΅Ρ‘. НапримСр IntelliJ IDEA Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ throw Π²Π½ΡƒΡ‚Ρ€ΠΈ finally.


Java GuruπŸ€“ #java
❀6πŸ‘6πŸ”₯2
Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив?

Object.clone()
ΠΈ System.arraycopy(). НативныС способы копирования, самыС быстрыС ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…. УнаслСдованный ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса clone() ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ вСсь массив Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². arraycopy(), Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, максимально Π³ΠΈΠ±ΠΊΠΈΠΉ – позволяСт ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ массива ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Arrays.copyOf(), Arrays.copyOfRange() ΠΈ всС ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ спСциализированныС способы копирования. Π’Π½ΡƒΡ‚Ρ€ΠΈ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ System.arraycopy().

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· стрим.
Arrays.stream(sourceArray).toArray(). Π£Π΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ удобства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², привСдСния Ρ‚ΠΈΠΏΠΎΠ², ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – класс SerializationUtils ΠΈΠ· Apache Commons.

ВсС пСрСчислСнныС способы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚Π½ΡƒΡŽ копию – ΠΎΠ±Π° массива Π² ΠΈΡ‚ΠΎΠ³Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию – Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ new создаСтся пустой массив Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π·Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ заполняСтся копиями элСмСнтов. Stream API здСсь ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ многопоточности.

Π‘Π°ΠΌΡ‹ΠΉ быстрый, Π½ΠΎ уТасный ΠΏΠΎ эффСктивности способ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ копирования массива Π±Π΅Π· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ копирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов – сСриализация+дСсСриализация. Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠ»ΠΎΡ…ΠΎΠΌΡƒ способу для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π°, Π½ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ быстрого ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°, ΠΈΠ»ΠΈ для тСстового ΠΊΠΎΠ΄Π°.


Java GuruπŸ€“ #java
πŸ‘9❀3πŸ”₯3
πŸš€ Apache Kafka β€” Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ инструмСнт для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… микросСрвисных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ 80% Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ отказоустойчивый ΠΎΠ±ΠΌΠ΅Π½ сообщСниями?

πŸ“… 30 июля Π² 19:00 МБК β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π²Π΅Π±ΠΈΠ½Π°Ρ€!

На мСроприятии ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ:
πŸ”Ή ВзаимодСйствиС Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€ΠΎΠΊΠ΅Ρ€ сообщСний
πŸ”Ή ΠšΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΈ порядок доставки
πŸ”Ή Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ использования Kafka

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‡Ρ‘Ρ‚ΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ отказоустойчивых систСм ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ пропускной способности.

🎟 Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ прямо сСйчас β€” Π²Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠΈ старта курса Β«Apache KafkaΒ», ΠΈ всС участники ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: https://vk.cc/cO4kns

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru
❀4πŸ‘2πŸ”₯2πŸ₯±1
Π§Π΅ΠΌ отличаСтся Closeable ΠΎΡ‚ AutoCloseable?

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ AutoCloseable прСдставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ рСсурса, ΠΏΠΎΠΊΠ° Ρ‚ΠΎΡ‚ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚. Π’ СдинствСнном Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ close() ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° закрытия этого рСсурса. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – дСскриптор ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (ObjectOutputStream).

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого интСрфСйса Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² языковой конструкции try-with-resource. Всё это появилось Π² Java вСрсии 7.

Π”ΠΎ Java 7 ΡƒΠΆΠ΅ сущСствовал ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ интСрфСйс – Closeable. Бмысл Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅. Он всё Π΅Ρ‰Π΅ доступСн Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости, Π½ΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AutoCloseable. Π§Ρ‚ΠΎΠ±Ρ‹ экзСмпляры старого Closeable Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² try-with-resource, Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° старого интСрфСйса Closeable Π±Ρ‹Π»Π° Π² узости Ρ‚ΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ close(). ΠšΠΎΠ²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ интСрфСйсС AutoCloseable с IOException Π΄ΠΎ Exception.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ – ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° close(). Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ Closeable Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ идСмпотСнтности, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ AutoCloseable Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты.


Java GuruπŸ€“ #java
πŸ‘13πŸ”₯5
Какая строка ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС?
πŸ‘3πŸ”₯2
Какая строка ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС?
Anonymous Quiz
40%
1
6%
2
5%
3
32%
4
17%
Ошибки Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚
πŸ”₯8πŸ‘5
Как Java Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄?

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

Π’Ρ‹Π±ΠΎΡ€ происходит Π² Π΄Π²Π° шага. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ выбираСтся ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ„Π°Π· – мноТСство подходящих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

1. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ подходят ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (upcasting) ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ссылочных Ρ‚ΠΈΠΏΠΎΠ², ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ vararg-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

2. Если Π² Ρ„Π°Π·Π΅ 1 подходящих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π΅ нашлось, ΠΊ Π΅Π΅ условиям Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ боксинга/анбоксинга ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ боксинг+Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

3. Если ΠΈ для Ρ„Π°Π·Ρ‹ 2 Π½Π΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сигнатур, ΠΊ условиям поиска ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ vararg-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

Π’ случаС, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ нашСлся Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°Π·Π΅, компиляция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой.

Когда Π² Ρ„Π°Π·Π΅ имССтся нСсколько подходящих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ спСцифичный срСди Π½ΠΈΡ… (Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ Ρ„Π°Π·Ρ‹!).

ΠœΠ΅Ρ‚ΠΎΠ΄ A считаСтся Π±ΠΎΠ»Π΅Π΅ спСцифичным Ρ‡Π΅ΠΌ B, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° – ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² A подошли Π±Ρ‹ ΠΈ для B, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Π’ условии спСцифичности говорится ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π° Π½Π΅ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ боксинг/анбоксинг Π½Π΅ учитываСтся, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ int Π½Π΅ считаСтся Π±ΠΎΠ»Π΅Π΅ спСцифичным, Ρ‡Π΅ΠΌ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Object (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Integer). Π₯отя, Ρ†Π΅Π»ΠΎΠ΅ число ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ Object, ΠΈ ΠΊΠ°ΠΊ Integer.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС.

Когда срСди ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ спСцифичный, происходит ошибка компиляции.


Java GuruπŸ€“ #java
πŸ”₯11πŸ‘5❀3
Π§Ρ‚ΠΎ вСрнётся для запроса /api/hello?name=Spring
πŸ‘4πŸ”₯3
Π§Ρ‚ΠΎ вСрнётся для запроса /api/hello?name=Spring
Anonymous Quiz
4%
Hello, name
15%
Hello, World
73%
Hello, Spring
5%
400 Bad Request
3%
404 Not Found
πŸ‘5πŸ”₯2
β‰οΈπŸ‘©β€πŸ’»Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π° Java, Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Spring прСвращаСтся Π² Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик? Π‘ΠΈΠ½Ρ‹ Π²Π΅Π΄ΡƒΡ‚ сСбя нСпрСдсказуСмо, конфигурация разрастаСтся, Π° ошибка Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ€ΡƒΡˆΠΈΡ‚ всю систСму.

Π˜Π½Ρ‚Π΅Ρ€Π²ΡŒΡŽ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Middle Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ β€” Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ увСрСнности Π² Spring.

🀝 Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Ρ‹Π½ΠΎΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ спСциалистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ просто Π·Π½Π°ΡŽΡ‚ Spring, Π° ΡƒΠΌΠ΅ΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½-прилоТСния с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Компании ΠΈΡ‰ΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Spring Boot, Spring Security, Spring MVC ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

⚑️ На курсС Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° Spring FrameworkΒ» ΠΌΡ‹ Π·Π°ΠΊΡ€ΠΎΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π΄Π°Π΄ΠΈΠΌ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… кСйсах, Ρ€Π΅Π²ΡŒΡŽ Π·Π°Π΄Π°Π½ΠΈΠΉ, тСстовоС собСсСдованиС β€” Π²Ρ‹ освоитС Spring Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

➑️ ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: https://vk.cc/cO81eL


🎁 Π”Π°Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ - SRING7

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘3❀2πŸ”₯2
Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово assert?

assert – Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ assertTrue() ΠΈΠ· тСстовых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π­Ρ‚ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚, Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ провСряСмоС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° boolean. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ оказываСтся false, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° утвСрТдСния считаСтся ΠΏΡ€ΠΎΠ²Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΈ выбрасываСтся AssertionError. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ запись ΠΏΠ°Ρ€Ρ‹ if ΠΈ throw, с фиксированным Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π’ Java Π΄ΠΎ вСрсии 4 слово assert Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° assert!

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ„Π»Π°Π³ΠΎΠΌ -ea ΠΈΠ»ΠΈ -enableassertions ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ java. МоТно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ классы ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ -da (-disableassertions), эти Ρ„Π»Π°Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ.

Assertion-Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² основном для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ для подстраховки Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ. Π’Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ AssertionError ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ программиста.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° assert Π΅ΡΡ‚ΡŒ синтаксис ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° detailMessage Π² конструктор AssertionError:
assert 2*2==5 : "two times two is not five!";

Java GuruπŸ€“ #java
πŸ‘8❀5πŸ”₯3
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с Π±ΠΈΠ½ΠΎΠΌ, Ссли Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½Π΅ Π·Π°Π΄Π°Π½?
πŸ”₯4πŸ‘3
Как нСльзя Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅?

Π­Ρ‚ΠΎΡ‚ вопрос ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠ· Π΄Π²ΡƒΡ… частСй. НуТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ тСхничСскиС ограничСния, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ стилистичСскиС. Π‘Ρ‚ΠΈΠ»ΡŒ – слишком большая Ρ‚Π΅ΠΌΠ°, Π½Π΅ спСцифичная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Java, Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π½Π° Π½Π΅ΠΉ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

ВСхничСски компилятор Π½Π°Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ограничСния Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈ всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. Π­Ρ‚ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ всСго Ρ‚Ρ€ΠΈ:
1. Имя Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ словом;
2. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ символ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Character.isJavaIdentifierStart();
3. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ символы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Character.isJavaIdentifierPart().

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… символов Unicode, ΠΊΠ°ΠΊ:
β€’ Π‘ΡƒΠΊΠ²Ρ‹ (Ρ€Π°Π·Π½Ρ‹Ρ… языков)
β€’ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Π²Π°Π»ΡŽΡ‚ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ $)
β€’ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ символы (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ _)
β€’ Π”ΠΈΠ°ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° (combining mark, non-spacing mark)
β€’ ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, проходящиС Character.isIdentifierIgnorable() (Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы, Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ компилятором)
β€’ Π¦ΠΈΡ„Ρ€Ρ‹, числовыС символы (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ римскиС числа)

ПослСдний ΠΏΡƒΠ½ΠΊΡ‚ нСдопустим для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа ΠΈΠΌΠ΅Π½ΠΈ. Π’ΠΈΠΏ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ символа ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Character.getType().

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово var. Оно стоит особняком ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ являСтся Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС Ρ‚ΠΈΠΏΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ var Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ.


Java GuruπŸ€“ #java
πŸ‘11πŸ”₯5🌭1
❓ГдС Ρƒ Java прилоТСния Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π°?

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ main class, содСрТащий ΠΌΠ΅Ρ‚ΠΎΠ΄ main. Π‘ Π½Π΅Π³ΠΎ начинаСтся исполнСниС всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Main class-ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ класс, Π½ΠΎ ΠΈ интСрфСйс ΠΈΠ»ΠΈ Π΅Π½Π°ΠΌ. Для JavaFX прилоТСния Π³Π»Π°Π²Π½Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ javafx.application.Application.

main ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ public static. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ strictfp. На Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΈ список ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ накладываСтся.

Π’ Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ объявлСн СдинствСнный Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ – массив строк. ОбС конструкции String[] ΠΈ String... ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. НазваниС массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Когда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся ΠΊΠ°ΠΊ classpath, Π³Π»Π°Π²Π½Ρ‹ΠΉ класс пСрСдаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Если выполняСтся СдинствСнный исходник, ΠΎΠ½ ΠΈ описываСт main class.

Для исполняСмого jar-Ρ„Π°ΠΉΠ»Π° (java -jar MyJar.jar), Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Π² манифСстС. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°, Π² Ρ„Π°ΠΉΠ» META-INF/MANIFEST.MF добавляСтся строчка Π²ΠΈΠ΄Π° Main-Class: ru.itsobes.MyClass. Π˜Π½Π°Ρ‡Π΅ запуск Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой Β«no main manifest attributeΒ».

Π’ случаС, ΠΊΠΎΠ³Π΄Π° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠΌ классС Π½Π΅ оказываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ удовлСтворял всСм критСриям Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ°Π΄Π°Π΅Ρ‚ с ошибкой Β«Main method not foundΒ».

Π’ Π°ΠΏΠΏΠ»Π΅Ρ‚Π°Ρ… вмСсто main Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ слуТат ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ init ΠΈ start. Начиная с вСрсии Java 9 тСхнология Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² объявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ, Π° с 11 – совсСм ΡƒΠ΄Π°Π»Π΅Π½Π°. НС Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.


Java GuruπŸ€“ #java
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯11πŸ‘6
Как ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса?

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс – всё Π΅Ρ‰Ρ‘ интСрфСйс, поэтому ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступными стандартныС способы. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ классом, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ экзСмпляр ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ new. МоТно ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти Π΄Π²Π° дСйствия, ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ класса.

ОсновноС прСимущСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс – Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… способа ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

1. Лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: (x, y) -> x * y
2. Бсылка Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄: Math::sqrt

На эти способы накладываСтся нСбольшоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Ρ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°/ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ явно. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ лямбдой ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄-рСфСрСнсом нСльзя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом var. Π’Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ лямбду ΠΈΠ»ΠΈ рСфСрСнс Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ generic-Ρ‚ΠΈΠΏΠ°, этот Ρ‚ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсом (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Π½Π΅Π³ΠΎ).


Java GuruπŸ€“ #java
πŸ‘6πŸ”₯4🀯1
КакиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ создания ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ?
πŸ‘5πŸ”₯4
КакиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ создания ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ?
Anonymous Quiz
40%
1, 2, 3
13%
1, 2, 3, 5
4%
1, 4
11%
Волько 2
31%
ВсС Π²Π΅Ρ€Π½Ρ‹Π΅
πŸ‘5πŸ”₯3