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

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

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

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Из Π΄ΠΆΡƒΠ½Π° Π² ΠΌΠΈΠ΄Π»Π° вмСстС с Π₯ΠΎΠ»Π΄ΠΈΠ½Π³ΠΎΠΌ Π’1πŸš€ ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΡˆΠΊΠΎΠ»Ρ‹ Π’1!

πŸŽ“ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΡˆΠΊΠΎΠ»Ρ‹ Π’1 β€” это новая ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для IΠ’-спСциалистов, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΡ‚Ρ€Ρ‹Π²Π° ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ offer weeks.

πŸ‘¨β€πŸ’» Для участия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΎΡ‚ 1 Π³ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π’1.

Π’1 Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2 мСсто срСди ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… ИКВ-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΠΎ вСрсии RAEX 2023 ΠΈ являСтся ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² сфСрС ИВ.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚: spring framework; docker; синхронноС ΠΈ асинхронноС взаимодСйствиС, Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ сообщСний; ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, SOLID

⏰ Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1 мСсяц.
πŸ’» Π€ΠΎΡ€ΠΌΠ°Ρ‚: ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠΎ Π²Π΅Ρ‡Π΅Ρ€Π°ΠΌ (ΠΎΡ‚ 8 часов Π² нСдСлю Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ€Ρ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ).

Π›ΡƒΡ‡ΡˆΠΈΠΌ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΡ„Ρ„Π΅Ρ€!

πŸ“Œ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ β€” Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ поста.

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ заявки Π΄ΠΎ 22 апрСля! πŸš€

РСклама. ООО "В1". ИНН 7720484492.
πŸ‘5πŸ”₯2πŸ‘Œ1
ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Spring Bean

Beans – Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π±ΠΎΡ‚Ρ‹ Spring Framework. Π—Π° кулисами Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° с Π½ΠΈΠΌΠΈ происходит мноТСство процСссов. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ этапы ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π§Π΅Ρ€Π΅Π· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятый Π±ΠΈΠ½:

1. Π˜Π½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ВСхничСскоС Π½Π°Ρ‡Π°Π»ΠΎ ΠΆΠΈΠ·Π½ΠΈ Π±ΠΈΠ½Π°, Ρ€Π°Π±ΠΎΡ‚Π° конструктора Π΅Π³ΠΎ класса;

2. Установка свойств ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΠΈΠ½Π°, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй;

3. Нотификация aware-интСрфСйсов. BeanNameAware, BeanFactoryAware ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠœΡ‹ ΡƒΠΆΠ΅ писали ΠΎ Ρ‚Π°ΠΊΠΈΡ… интСрфСйсах Ρ€Π°Π½Π΅Π΅. ВСхничСски, выполняСтся систСмными ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠ°ΠΌΠΈ BeanPostProcessor, ΠΈ совпадаСт с шагом 4;

4. ΠŸΡ€Π΅-инициализация – ΠΌΠ΅Ρ‚ΠΎΠ΄ postProcessBeforeInitialization() интСрфСйса BeanPostProcessor;

5. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ. Π Π°Π·Π½Ρ‹Π΅ способы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС:
β€’ ΠœΠ΅Ρ‚ΠΎΠ΄ Π±ΠΈΠ½Π° с Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ
@PostConstruct ΠΈΠ· стандарта JSR-250 (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ);
β€’ ΠœΠ΅Ρ‚ΠΎΠ΄ afterPropertiesSet() Π±ΠΈΠ½Π° ΠΏΠΎΠ΄ интСрфСйсом InitializingBean;
β€’ Init-ΠΌΠ΅Ρ‚ΠΎΠ΄. Для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π° Π΅Π³ΠΎ имя устанавливаСтся Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ опрСдСлСния initMethod. Π’ xml-ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для всСх Π±ΠΈΠ½ΠΎΠ² сразу, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ default-init-method;

6. ΠŸΠΎΡΡ‚-инициализация – ΠΌΠ΅Ρ‚ΠΎΠ΄ postProcessAfterInitialization() интСрфСйса BeanPostProcessor.
Когда IoC-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этап ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ уничтоТСния Π±ΠΈΠ½Π°. Как со всСми способами Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Java, ΠΏΡ€ΠΈ ТСстком Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ (kill -9) Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²Π° этого этапа Π½Π΅Ρ‚. Π’Ρ€ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… способа Β«Π΄Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΒ» Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Ρ‡Ρ‚ΠΎ симмСтричныС ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

1. ΠœΠ΅Ρ‚ΠΎΠ΄ с Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ
@PreDestroy;
2. ΠœΠ΅Ρ‚ΠΎΠ΄ с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² свойствС destroyMethod опрСдСлния Π±ΠΈΠ½Π° (ΠΈΠ»ΠΈ Π² глобальном default-destroy-method);
3. ΠœΠ΅Ρ‚ΠΎΠ΄ destroy() интСрфСйса DisposableBean.

НС слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π° с ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ контСкста ΠΈ этапами ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊ Π±ΠΈΠ½ΠΎΠ². О Π½ΠΈΡ… ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… публикациях.
πŸ‘19πŸ”₯4❀2
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² своС ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ кСйс ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ бСсплатно ΠΈ всСго Π·Π° ΠΏΠ°Ρ€Ρƒ часов

На практичСском ΡƒΡ€ΠΎΠΊΠ΅ Β«ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° для систСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉΒ».

На Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅:

- рассмотрим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ отказоустойчивой систСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ;
- обсудим примСнСния ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Saga, Π΄Π²ΡƒΡ…Ρ„Π°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ Π²Ρ‹Π±ΠΎΡ€ уровня изоляции Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ;
- ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ описаниС Π²Π΅Ρ€Ρ…Π½Π΅ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

ЗанятиС ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ 24 апрСля Π² 20:00 мск Π² Ρ€Π°ΠΌΠΊΠ°Ρ… курса Β«Microservice ArchitectureΒ». Доступна рассрочка Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅!

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ, Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ: https://vk.cc/cwfziC

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru
πŸ‘6πŸ”₯2
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaEE сСрвлСт Π² Spring Framework?

Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Spring MVC тСхничСски само ΠΏΠΎ сСбС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° сСрвлСтах: всю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Π΅Π΄ΠΈΠ½Ρ‹ΠΉ DispatcherServlet. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСализуСтся ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Front Controller.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ нСзависимый ΠΎΡ‚ Spring-контСкста сСрвлСт ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного для этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Servlet API, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ класс, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² web.xml ΠΊΠ°ΠΊ сСрвлСт, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ для сСрвлСта ΠΌΠ°ΠΏΠΏΠΈΠ½Π³.

Π‘Π΅Ρ€Π²Π»Π΅Ρ‚ ΠΆΠΈΠ²Π΅Ρ‚ Π²Π½Π΅ Spring-контСкста, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй Π² Π½Ρ‘ΠΌ просто Ρ‚Π°ΠΊ Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ autowiring, Π½Π° этапС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвлСта вызываСтся статичСский SpringBeanAutowiringSupport.processInjectionBasedOnServletContext, с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ сСрвлСтом ΠΈ Π΅Π³ΠΎ контСкстом Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. Π’ этом ΠΆΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½ΠΎΠΌ классС Π΅ΡΡ‚ΡŒ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с контСкстом ΠΈΠ·Π²Π½Π΅.

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° построСна Π½Π° Spring Boot, созданиС Π±ΠΈΠ½Π° Ρ‚ΠΈΠΏΠ° ServletRegistrationBean ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сСрвлСты Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅. А для Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ добавлСния Π½Π° этапС компиляции, ΠΊ классу ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ примСняСтся
@ServletComponentScan. Π‘ этой Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ стартСр прилоТСния просканируСт ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π² контСкст всС web-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² стилС Servlet 3.0: классы с аннотациями @WebFilter, @WebListener ΠΈ @WebServlet.
πŸ”₯10πŸ‘6
This media is not supported in your browser
VIEW IN TELEGRAM
πŸ”₯ ΠŸΡ€ΠΎΠΉΠ΄ΠΈ тСст ΠΏΠΎ Java ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ свои знания.

ΠžΡ‚Π²Π΅Ρ‚ΠΈΡˆΡŒ β€” ΠΏΡ€ΠΎΠΉΠ΄Π΅ΡˆΡŒ Π½Π° ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ курс Β«Java Developer. ProfessionalΒ» ΠΎΡ‚ OTUS ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ†Π΅Π½Π΅ + ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ доступ ΠΊ записям ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ² курса курса

πŸ” ОбновлСнная, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

πŸ‘‰  ΠŸΠ ΠžΠ™Π’И Π’Π•Π‘Π’: https://otus.pw/AxWa/?erid=LjN8KF9Af
πŸ‘5πŸ”₯2
Π’ Ρ‡Ρ‘ΠΌ прСимущСства ΠΈ нСдостатки Spring Boot?

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сущности Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring Boot – это стартСры. Зависимости с названиями Π²ΠΈΠ΄Π° spring-boot-starter-xxx Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Π²Π΅ основных Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ-зависимостСй; Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ½Ρ‹ ΠΈ ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, со Spring Boot Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ появляСтся ряд Ρ‚Π°ΠΊΠΈΡ… полСзностСй, ΠΊΠ°ΠΊ embedded-сСрвСр, конфигурация web-прилоТСния Π±Π΅Π· web.xml, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, properties вынСсСнныС ΠΈΠ· ΠΊΠΎΠ΄Π° Π²ΠΎ внСшниС Ρ„Π°ΠΉΠ»Ρ‹.

НапримСр, spring-boot-starter-data-jpa даст Π²Π°ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для использования JPA: Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ с Π½ΠΈΠΌ Π²Π΅Ρ€ΡΠΈΡŽ Hibernate, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Persistence API ΠΈ Spring Data. Π’ контСкстС прилоТСния появятся всС Π½ΡƒΠΆΠ½Ρ‹Π΅ для JPA Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π±ΠΈΠ½Ρ‹.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Spring Boot ускоряСт ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ boilerplate-ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° бизнСс-Π·Π°Π΄Π°Ρ‡Π°Ρ…. Π­Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ особСнно Π²Π°ΠΆΠ½ΠΎ Π² микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, ΠΊΠΎΠ³Π΄Π° создаСтся большоС количСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, такая ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ СстСствСнно ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ большСй тяТСловСсности ΠΈ ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния.
πŸ‘10πŸ”₯3❀2
πŸ§™β€β™‚οΈΠ§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ Π² Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅: магия ΠΈΠ»ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°?

РасскаТСм Π½Π° курсС "Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° Spring Framework" ΠΎΡ‚ OTUS.

🀣 ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Π² свой ΠΎΡ€Π΄Π΅Π½ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° мая

⚑️ ΠŸΡ€ΠΎΠΉΠ΄ΠΈ тСст ΠΏΠΎ Java ΠΎΡ‚ OTUS ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ, Π³ΠΎΡ‚ΠΎΠ² Π»ΠΈ Ρ‚Ρ‹ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½Π° нашСм курсС?

ΠžΡ‚Π²Π΅Ρ‚ΠΈΡˆΡŒ β€” ΠΏΡ€ΠΎΠΉΠ΄Π΅ΡˆΡŒ Π½Π° курс ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ†Π΅Π½Π΅.

πŸ‘‰ ΠŸΠ ΠžΠ™Π’Π˜ Π’Π•Π‘Π’: https://otus.pw/VI80/

🎫 ΠšΡƒΡ€Ρ ΠΌΠΎΠΆΠ½ΠΎ приобрСсти Π² рассрочку

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘5πŸ”₯2
Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π² синглтон?

РаньшС ΠΌΡ‹ ΡƒΠΆΠ΅
рассматривали различия скоупов singleton ΠΈ prototype Π² Spring Framework. Допустим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π² singleton-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ внСдряСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ со скоупом prototype – ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ создан Π΅Ρ‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

Если просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π±ΠΈΠ½Π° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ
@Scope(SCOPE_PROTOTYPE), ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Π±ΠΈΠ½ Π² синглтонС Ρ‡Π΅Ρ€Π΅Π· Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @Autowired – Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ синглтон создаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡƒ случится Ρ‚ΠΎΠΆΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании (ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ зависимости).

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ – ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚
@Autowired, ΠΈ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· контСкста Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Для этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ context.getBean(MyPrototype.class).

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ автоматичСским Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ зависимостСй ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «Команда»). Автовайрится Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° производящий Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π‘ΠΎΠ»Π΅Π΅ красивый Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ – ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π°. Π’ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ
@Scope ΠΊΡ€ΠΎΠΌΠ΅ самого scopeName доступСн Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – proxyMode. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NO – прокси Π½Π΅ создаСтся. Но Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ INTERFACES ΠΈΠ»ΠΈ TARGET_CLASS, Ρ‚ΠΎ ΠΏΠΎΠ΄ @Autowired Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒΡΡ Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° сгСнСрированный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ прокси. И ΠΊΠΎΠ³Π΄Π° проксируСмый Π±ΠΈΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ скоуп prototype, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ прокси Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ.
πŸ‘15πŸ”₯2
Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Scala? НачнитС с простого Web-сСрвиса Π½Π° ZIO: zio-http + zio + quill

ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° бСсплатный практичСский ΡƒΡ€ΠΎΠΊ ΠΎΡ‚ OTUS. Π‘ΠΏΠΈΠΊΠ΅Ρ€ АлСксСй Π’ΠΎΡ€ΠΎΠ½Π΅Ρ† β€” Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Β«NAUMENΒ».

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ построСния простого Π²Π΅Π±-сСрвиса с REST API Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (ΠΏΡƒΡ‚ΠΈ, бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, докумСнтация) ΠΈ посмотрим, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² экосистСмС ZIO.

ЗанятиС ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ 22 апрСля Π² 20:00 мск Π² Ρ€Π°ΠΌΠΊΠ°Ρ… курса Β«Scala-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ». Доступна рассрочка Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅!

Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ прямо сСйчас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ бСсплатный ΡƒΡ€ΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ запись: https://vk.cc/cwi4ET

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru
πŸ‘4❀2πŸ”₯2
ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса java.lang.Object

Π­Ρ‚ΠΎΡ‚ вопрос ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ способ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ – ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² обсуТдСнии Π΄Π°Π»Π΅ΠΊΠΎ Π²Π³Π»ΡƒΠ±ΡŒ. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ сигнатуры – Π½Π΅ зная ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° вопросы ΠΏΠΎ этим ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ хотя Π±Ρ‹ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ Π½ΠΈΡ…. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ исходник ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ javadoc-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. ΠŸΠΎΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊΠ°ΠΊ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ, ΠΈ Π΄Π°Π»Π΅Π΅ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ. Π˜Ρ… список:

πŸ”˜ public final native Class<?> getClass()
πŸ”˜ public native int hashCode()
πŸ”˜ public boolean equals(Object obj)
πŸ”˜ protected native Object clone() throws CloneNotSupportedException
πŸ”˜ public String toString()
πŸ”˜ public final native void notify()
πŸ”˜ public final native void notifyAll()
πŸ”˜ public final native void wait(long timeout) throws InterruptedException
πŸ”˜ public final void wait(long timeout, int nanos) throws InterruptedException
πŸ”˜ public final void wait() throws InterruptedException
πŸ”˜ protected void finalize() throws Throwable
πŸ‘13πŸ”₯3❀1
βœ… Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Greenplum?

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, особСнности Π½Π° бСсплатном практичСском ΡƒΡ€ΠΎΠΊΠ΅ посвящСнному курсу Β«Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β» ΠΎΡ‚ OTUS.

πŸ”ΉΠΠ° Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ кластСра Greenplum. Рассмотрим Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Greenplum ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

πŸ”ΉΠΠ° ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: ΠΏΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ \ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅; Update \ deletes Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… GP;  Append-Optimized Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

πŸ‘‰ РСгистрация
https://clck.ru/3AABc9?erid=LjN8KP99a
πŸ‘5❀2πŸ”₯2
toString

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС экзСмпляра. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "ПолноСИмяКласса@Ρ…ΡΡˆΠ’16Ρ‚ΠΈΡ€ΠΈΡ‡Π½ΠΎΠΌΠ’ΠΈΠ΄Π΅" (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "java.lang.Object@1a23b4f"). Π§Π°ΡΡ‚ΡŒ послС @ – Π½Π΅ адрСс Π² памяти, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ рСализация ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ нСсСт практичСской ΠΏΠΎΠ»ΡŒΠ·Ρ‹. ПолСзно Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² x.toString() с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° null ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² String.valueOf(x).
πŸ‘13πŸ”₯4
ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ бСсплатному курсу ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Π² ΠΌΠΈΡ€ Java!

Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ основы, создавайтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ΡΡŒ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ошибки Π² ΠΊΠΎΠ΄Π΅. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, упраТнСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Π΅ тСсты ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ программирования.

πŸŽ“ Π§Π΅ΠΌΡƒ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ:
β€” Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с использованиСм основных конструкций языка.
 β€” Π Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.
 β€” ΠΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² ΠΊΠΎΠ΄Π΅ с использованиСм ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

πŸ’Ό Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² курс:
29 ΡƒΡ€ΠΎΠΊΠΎΠ² (Π²ΠΈΠ΄Π΅ΠΎ ΠΈ/ΠΈΠ»ΠΈ тСкст), 35 ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ Π² Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€Π΅, 95 ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… тСстов + Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.

Π’Ρ‹ с Π½Π°ΠΌΠΈ?πŸ˜‰
πŸ‘8πŸ”₯2
new String("Hello_42") == "Hello_" + 42?

Π’Π°ΠΊΠΈΠ΅ вопросы ΠΎ сравнСнии строковых ΠΈ числовых констант ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ знания ΠΎ понятии ΠΏΡƒΠ»ΠΎΠ² Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² (literal pool). НС слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΏΡƒΠ»ΠΎΠΌ констант класса. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для строкового Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ класса, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΡƒΠΆΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π² ΠΊΡƒΡ‡Π΅. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ "Hello" == "Hello" истинно, Π½Π΅ смотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ String – ссылочный Ρ‚ΠΈΠΏ. Вакая оптимизация Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° благодаря свойству нСизмСняСмости (immutable) класса String, ΠΈ называСтся ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк.

ΠšΡ€ΠΎΠΌΠ΅ самих Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся ΠΊΠΎ всСм константным выраТСниям. К Ρ‚Π°ΠΊΠΈΠΌ выраТСниям Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ относятся нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ числа 42 ΠΊ строкС ΠΈ конкатСнация констант. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ истинным "Hello_42" == "Hello_" + 42.

ΠŸΡƒΠ» Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ new. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ new String("Hello_42") == "Hello_" + 42 Π»ΠΎΠΆΠ½ΠΎ.
πŸ‘25πŸ”₯4
Новосибирск, 25 апрСля ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° ΠΌΠΈΡ‚Π°ΠΏ IT Talk by Sber для Java- ΠΈ DevOps-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²! 🀩

ΠœΡ‹ собрали экспСртов ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ тСхнологиях ΠΈ инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

На ΠΌΠΈΡ‚Π°ΠΏΠ΅ обсудим интСрСсныС Ρ‚Π΅ΠΌΡ‹:

πŸ‘‰ Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ сборки Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ CI ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

πŸ‘‰ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, ΠΊΠΎΠΌΡƒ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Ρƒ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°?

πŸ‘‰ Π˜Π½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρ‹ Π² ΠΏΡ€ΠΎΠΌΠ΅: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚, ΠΈ Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ происходит, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ «БСрвис нСдоступСн, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· 5 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅Β»?

ВстрСчаСмся 25 апрСля с 17:30 Π΄ΠΎ 22:00 Π² Π»ΠΎΡ„Ρ‚Π΅ FoodFactory: Новосибирск, ΡƒΠ». ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ, 14.

Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ ссылкС!
πŸ‘9πŸ”₯2