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

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

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

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
πŸ‘5πŸ”₯4
REST ΠΈΠ»ΠΈ GraphQL? Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, насколько ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, быстрым ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ваш API.

26 августа Π² 20:00 Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, ΠΊΠΎΠ³Π΄Π° стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ REST, Π° ΠΊΠΎΠ³Π΄Π° β€” GraphQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Spring Boot. ЭкспСрт ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π°, Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚ практичСскиС кСйсы ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки.

Backend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° Java/Kotlin ΠΈ Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Ρ‹ ΡƒΠ·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эти Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ быстрСС, Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Π² сопровоТдСнии ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊ росту.

Π’Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠ΅ старта курса Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° Spring FrameworkΒ».

Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ сСйчас ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: https://vk.cc/cON5w2

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576
❀2πŸ‘2πŸ”₯2
ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ имя класса Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°?

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² .java Ρ„Π°ΠΉΠ»Π΅ Π±Ρ‹Π» Π½Π΅ большС Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ класс Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ совпадало с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π°. ВсС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

Protected ΠΈ private классов Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π° Π²ΠΎΡ‚ Π½Π° package-protected это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ распространяСтся. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ класс Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° доступа ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС имя. Π’Π°ΠΊΠΆΠ΅ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ рядом с основным ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ классом Ρ„Π°ΠΉΠ»Π° (ΠΈΠ»ΠΈ вмСсто Π½Π΅Π³ΠΎ) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ любоС количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… классов Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° доступа, с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Они Π±ΡƒΠ΄ΡƒΡ‚ доступны Π²Π½ΡƒΡ‚Ρ€ΠΈ всСго ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ – ΠΌΠΎΠΆΠ΅Ρ‚.


Java GuruπŸ€“ #java
πŸ‘9πŸ”₯5❀1
Как ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ элСмСнты пСрСчислСния?

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ enum-Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² статичСскиС константы-экзСмпляры Π΅Π³ΠΎ класса. ЭкзСмпляры Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ синглтоны. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, для ΠΈΡ… сравнСния бСзопасно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ==, Π΄Π°ΠΆΠ΅ послС дСсСриализации ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС.

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс нСявно наслСдуСтся ΠΎΡ‚ java.lang.Enum, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Object ΠΊΡ€ΠΎΠΌΠ΅ toString ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’ частности, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° equals – ΠΎΠ½ сравниваСт enum-Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ==. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ equals Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· опаски.

Но ΠΏΠΎΠΌΠΈΠΌΠΎ этого Π΅ΡΡ‚ΡŒ нСсколько ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ==:

1. == Π½Π΅ выбросит NullPointerException. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ equals Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, придСтся ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ null.

2. == Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΅Ρ‰Π΅ Π½Π° этапС компиляции подскаТСт, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сравнСниС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла. equals ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΠΌ Object, ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ false ΡƒΠΆΠ΅ Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅.

3. == быстрСС. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΉ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ лишнСго Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.


Java GuruπŸ€“ #java
πŸ‘7πŸ”₯6
πŸ€– AI Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²?
Π­Ρ‚ΠΎΡ‚ вопрос Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠΊΠ±Π΅ΠΉΡ‚. Но ΠΊΠΎΠ³Π΄Π° ΡΠΌΠΎΡ‚Ρ€ΠΈΡˆΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Explyt Agent, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅.

Π­Ρ‚ΠΎΡ‚ AI Π½Π΅ просто подсказываСт ΠΊΠΎΠ΄, Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ:
β€’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
β€’ запускаСт тСсты ΠΈ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ошибки
β€’ выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅
β€’ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ добавляСт Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

ЀактичСски, ΠΎΠ½ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ Π΄ΠΆΡƒΠ½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ‚Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡˆΡŒ: Β«Π²ΠΎΡ‚ таска, сдСлай». А Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΡˆΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, ΠΊΠ°ΠΊ устроСн этот Π°Π³Π΅Π½Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΌΠ΅Π΅Ρ‚πŸš€
πŸ₯΄6πŸ‘3πŸ”₯3
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° экран?
πŸ‘5πŸ”₯5
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° экран?
Anonymous Quiz
2%
RuntimeException
79%
Child
4%
Ошибка компиляции
11%
Parent
3%
Parent Child
πŸ‘4πŸ”₯4
πŸ”— Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ мСТсСрвисных запросов: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ быстрым ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ
πŸ“… 25 августа | 20:00 мск | бСсплатно

На Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ:
β€’ ΠŸΠΎΡ‡Π΅ΠΌΡƒ β€œΠΏΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис” Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
β€’ Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ каскадных Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ
β€’ API Gateway, Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Ρ‹, GraphQL β€” ΠΊΠΎΠ³Π΄Π° стоит ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ
β€’ CQRS: Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ запросов для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

πŸ’‘ΠŸΠΎΠ»Π΅Π·Π½ΠΎ для:
β€’ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ПО
β€’ DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²
β€’ Π’Π΅Ρ…Π»ΠΈΠ΄ΠΎΠ²

βœ…ΠŸΠΎΡΠ»Π΅ Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° Π²Ρ‹ смоТСтС:
β€’ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ устойчивыС ΠΈ быстрыС мСТсСрвисныС запросы
β€’ Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ API Π±Π΅Π· прСвращСния Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚
β€’ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ CQRS для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы

πŸ‘‰ Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ:

https://vk.cc/cOPlJu

ЗанятиС ΠΏΡ€ΠΈΡƒΡ€ΠΎΡ‡Π΅Π½ΠΎ ΠΊ старту курса "Software Architect", ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ отказоустойчивых, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru
πŸ‘2πŸ”₯2❀1
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚Π° Π±ΠΈΠ½Π° А?
πŸ”₯3πŸ‘1
Please open Telegram to view this post
VIEW IN TELEGRAM
❀1πŸ”₯1
КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎΠΉ Π² Java?

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Числа ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Java хранятся Π² дискрСтной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ фиксированный объСм. Из этого Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ – максимальноС становится ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Вакая ситуация называСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (underflow/overflow).

РСшСниС: Ссли ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ пСрСполнСния Π·Π½Π°Ρ‡ΠΈΠΌΠ°, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с суффиксом *Exact ΠΈΠ· классС Math. Π­Ρ‚ΠΎ бСзопасныС Π°Π½Π°Π»ΠΎΠ³ΠΈ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² случаС пСрСполнСния.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимыС округлСния.
По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ JVM ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ арифмСтичСскиС вычислСния насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ. ΠŸΡ€Π΅Π΄Π΅Π»Ρ‹ точности ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ строгиС трСбования пСрСносимости, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π° любом ΠΆΠ΅Π»Π΅Π·Π΅.

РСшСниС: ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ strictfp Π² объявлСнии класса ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΉ спСцификации IEEE 754. Π—Π° это ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ArithmeticException.
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ происходит, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ноль. Π­Ρ‚ΠΎ ΠΆΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ бСзопасныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Math.

РСшСниС: Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ логичСскиС ошибки – ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ Unit-тСстами.


Java GuruπŸ€“ #java
πŸ”₯9πŸ‘4
Please open Telegram to view this post
VIEW IN TELEGRAM