ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Open in Telegram
π ΠΠ°ΠΉΡΡ Π°ΠΊΠΈ, ΠΏΡΠΈΡΠΌΡ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΡ, ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠΎΠΊΠ°ΡΠ°Π΅Ρ Π½Π°Π²ΡΠΊΠΈ. Java, Spring, Maven, Hibernate. ΠΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ @evgenycarter Π ΠΠ clck.ru/3KoGeP
Show more9 992
Subscribers
No data24 hours
-157 days
-6130 days
Posts Archive
βοΈ ΠΠ°ΠΊ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠΎΡΠ½ΠΈ ΡΡΡΠΎΠΊ ΡΡΠ°Π·Ρ?
Π£Π·Π½Π°ΠΉΡΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ batch-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² JdbcΒ» ΠΎΡ OTUS. ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΎΡΠ²Π΅ΡΠΈΠΌ Π½Π° Π²ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
Π‘ΠΏΠΈΠΊΠ΅Ρ Π‘Π΅ΡΠ³Π΅ΠΉ ΠΠ΅ΡΡΠ΅Π»Π΅Π²ΠΈΡ β ΠΎΠΏΡΡΠ½ΡΠΉ Java/Kotlin-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Oracle Certified Professional, Java SE 8 Programmer.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 11 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΡΡΡΠ° Β«Java Developer. ProfessionalΒ».
ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
β‘οΈ Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cxnhmF
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ HashMap.put()?
1. ΠΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Ρ
ΡΡ ΠΊΠ»ΡΡΠ°. ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ null, Ρ
ΡΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 0. Π§ΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π° hashCode() Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡΒ»: Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ Π±ΠΈΡΡ XOR-ΡΡΡΡ Π½Π° ΠΌΠ»Π°Π΄ΡΠΈΠ΅.
2. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΡΡΡΠΊΡΡΡΠ°Ρ
Π΄Π°Π½Π½ΡΡ
β Π½ΠΎΠ΄Π°Ρ
, Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ· Ρ
ΡΡΠ° Π²ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π±Π°ΠΊΠ΅ΡΠ° β ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Ρ
ΡΡ ΠΎΠ±ΡΠ΅Π·Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ»ΠΈΠ½Π° β Π²ΡΠ΅Π³Π΄Π° ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄Π²ΠΎΠΉΠΊΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π»Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΡΠΎΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ &.
3. Π Π±Π°ΠΊΠ΅ΡΠ΅ ΠΈΡΠ΅ΡΡΡ Π½ΠΎΠ΄Π°. Π ΡΡΠ΅ΠΉΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π»Π΅ΠΆΠΈΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄Π½Π° Π½ΠΎΠ΄Π°, Π° ΡΠ²ΡΠ·ΠΊΠ° Π²ΡΠ΅Ρ
Π½ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΄Π° ΠΏΠΎΠΏΠ°Π»ΠΈ. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΊΠ΅ (ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΈΠ»ΠΈ Π΄Π΅ΡΠ΅Π²Ρ), ΠΈ ΠΈΡΠ΅Ρ Π½ΠΎΠ΄Ρ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠ»ΡΡΠΎΠΌ. ΠΠ»ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π½Π° ==, Π·Π°ΡΠ΅ΠΌ Π½Π° equals.
4. ΠΡΠ»ΠΈ Π½ΠΎΠ΄Π° Π½Π°ΠΉΠ΄Π΅Π½Π° β Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌ. Π Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΡΡΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
5. ΠΡΠ»ΠΈ Π½ΠΎΠ΄Ρ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠ»ΡΡΠΎΠΌ Π² Π±Π°ΠΊΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅Ρ β Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΡΠ° ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π² Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° Node, ΠΈ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΡΡΡ ΠΊ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π½ΠΎΠ΄ Π±Π°ΠΊΠ΅ΡΠ°. ΠΠΎΠ΄Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² Π½ΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ (Π΄Π»Ρ Π΄Π΅ΡΠ΅Π²Π° β ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ). ΠΡΠΎΠΌΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ°ΡΡ ΠΈ ΡΡΡΠ»ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ Π½Π΅ ΡΡΠΈΡΠ°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Ρ
ΡΡ ΠΊΠ»ΡΡΠ°.
6. Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π±ΡΠ»Π° ΡΠ΅ΠΏΠΎΡΠΊΠ° Π° Π½Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΈ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΡΠ΅Π²ΡΡΠΈΠ»Π° 7 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° treeification β ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π² ΡΠ°ΠΌΠΎΠ±Π°Π»Π°Π½ΡΠΈΡΡΡΡΠ΅Π΅ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ. Π ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Ρ O(n) Π΄ΠΎ O(log(n)). Π£ comparable-ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΡ
Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. ΠΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΡΡΡΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΈΠΌΠ΅Π½ ΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ identityHashCode-ΠΎΠ². ΠΠ»Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡ (< 64 Π±Π°ΠΊΠ΅ΡΠΎΠ²) Β«ΠΎΠ΄Π΅ΡΠ΅Π²Π΅Π½Π΅Π½ΠΈΠ΅Β» Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ (ΡΠΌ. ΠΏ.8).
7. ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ Π½ΠΎΠ΄Π° ΠΏΠΎΠΏΠ°Π»Π° Π² ΠΏΡΡΡΡΡ ΡΡΠ΅ΠΉΠΊΡ, Π·Π°Π½ΡΠ»Π° Π½ΠΎΠ²ΡΠΉ Π±Π°ΠΊΠ΅Ρ β ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΎΠΎΠ±ΡΠΈΡ Π²ΡΠ΅ΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΠΎ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ±ΡΠΎΡΠΈΡΡ ConcurrentModificationException.
8. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°Π½ΡΡΡΡ
Π±Π°ΠΊΠ΅ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΎ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ (capacity * load factor), Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²Π΄Π²ΠΎΠ΅, Π° Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Ρ
ΡΡ β Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π½ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ Π±Π°ΠΊΠ΅ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, Π½ΠΎ ΡΠΆΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
π@BookJava
Π‘ΠΎΠ²Π΅Ρ ΠΏΠΎ Java π‘
ΠΠ°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ Π»ΠΈ Π²Ρ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ REST API Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
? Micronautπ - Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ JavaβοΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ π
#java #restapi #versioning #micronaut
π@BookJava
π©βπ» ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Java ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Stream API?
Π£Π·Π½Π°ΠΉΡΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΡ OTUS, Π³Π΄Π΅ Π²Ρ:
β ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Java Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Stream API;
β ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π²Π°Ρ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Stream API;
β ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡ
ΠΎΠΆΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ»ΡΡΡΠΈΡΡ ΠΈΡ
.
Π‘ΠΏΠΈΠΊΠ΅Ρ Π ΠΎΠΌΠ°Π½ ΠΠΎΡΠΎΠ½ΠΎΠ²ΡΠΊΠΈΠΉ β ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΠΌΠ΅Π½ΡΠΎΡ.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 5 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΡΡΡΠ° Β«Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ». ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
β‘οΈ Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cxgDAK
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576ΠΠ°ΠΊΠΎΠΉ Ρ Spring Π±ΠΈΠ½ΠΎΠ² ΡΠΊΠΎΡΠΏ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ?
Π Spring Framework Π²ΠΎ Π²ΡΠ΅Ρ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ
Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ (bean) ΡΠ²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡ scope. Π Java-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ
@Scope, Π² xml β Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ scope ΡΠ΅Π³Π° <bean>.
ΠΡΡΠΈΠ±ΡΡ scope β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π²ΠΈΡ Π±ΠΈΠ½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° org.springframework.beans.factory.config.Scope. Π‘ΠΊΠΎΡΠΏ β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° Β«ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΒ» Π΄Π»Ρ ΡΠ°Π±ΡΠΈΠΊ Π±ΠΈΠ½ΠΎΠ², ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ Spring-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΎΠΊΠΎΡΠΏΠ°:
β’ singleton β ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡΡ
ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π²: ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±Π΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π‘ΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½Π΅ ΠΊΠ»Π°ΡΡ-ΡΠΈΠ½Π³Π»ΡΠΎΠ½: ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π²ΡΡ
Π±ΠΈΠ½ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π΄Π²Π°. ΠΡΠΎ ΡΠΊΠΎΡΠΏ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
β’ prototype β ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΡΠΈΠΊΠ° Π±ΠΈΠ½ΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
Π±ΠΈΠ½ΠΎΠ² Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ.
Spring Web Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ 4 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΊΠΎΡΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π±ΠΈΠ½ ΡΠΈΠ½Π³Π»ΡΠΎΠ½ΠΎΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (request), ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ (session), ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ²Π»Π΅ΡΠ° (application) ΠΈ Π²Π΅Π±ΡΠΎΠΊΠ΅Ρ-ΡΠ΅ΡΡΠΈΠΈ (websocket).
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΊΠΎΡΠΏΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠ°ΠΌΠΈΡ
ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ
Spring: SimpleThreadScope, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ Π±ΠΈΠ½ ΡΡΠ΅Π΄-Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΊΠΎΡΠΏΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² BeanFactory.
π@BookJavaπJava Ρ JMH Π΄Π»Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈΠ½Π³Π° π
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. π₯
https://github.com/openjdk/jmh
π@BookJava
π©βπ» ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ Java Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ β Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ, 88 ΡΠ°ΡΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈΠ·Π½ΡΡΡΠΈ
ΠΡΠΎΠΉΠ΄ΠΈ ΡΠ΅ΡΡ ΠΏΠΎ Java ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ, Π³ΠΎΡΠΎΠ² Π»ΠΈ ΡΡ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΊΡΡΡΠ΅.
ΠΡΠ²Π΅ΡΠΈΡΡ β ΠΏΡΠΎΠΉΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΊΡΡΡ "Java Developer. Professional" ΠΎΡ OTUS ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½Π΅ + ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΏΠΈΡΡΠΌ ΠΎΡΠΊΡΡΡΡΡ
ΡΡΠΎΠΊΠΎΠ² ΠΊΡΡΡΠ° ΠΊΡΡΡΠ°
π ΠΠ ΠΠΠ’Π Π’ΠΠ‘Π’: https://vk.cc/cxdeYx
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ?
Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ»Π»Π±ΡΠΊ.
Π§ΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΈΡΠ°Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠ΅Π»ΠΎΠΌ. ΠΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Object ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
ΠΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ: ΠΎΠ½ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² ΡΠΈΠΏΠ°Ρ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (checked ΠΈ unchecked).
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ
ΡΡΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΡΠΎΠΌΠ΅ interface Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ @FunctionalInterface. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠΎΠΉ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ: Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠΈΠΏΠ΅ ΡΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: Callable, Supplier, Comparable.
π@BookJava
Π‘ΠΎΠ²Π΅Ρ π Spring Retry π
Spring Retry ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. π₯
https://github.com/spring-projects/spring-retry
π@BookJava
Π£Π³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Java β Π±ΡΡΡ!π€β¨
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΡΠ±Π°ΠΌ ΠΌΡ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΊΡΡΡΠ° Β«Π£Π³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° JavaΒ»!
ΠΡΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ, ΠΊΠ°ΠΊ IDEA, Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΡΠΎΠ΅Π½ ΡΠ·ΡΠΊ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΄ΡΠΎ ΠΈ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°.
ΠΡΠΎ Π°Π²ΡΠΎΡΡΠΊΠΈΠΉ ΠΊΡΡΡ ΠΎΡ ΠΠΌΠΈΡΡΠΈΡ ΠΠΎΠ³Π°Π½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Oracle.
ΠΠ²ΡΠΎΡ ΠΊΡΡΡΠ° ΠΏΡΠΎΡΠ΅Π» ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Oracle, ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°, ΡΠ΄Π΅Π»Π°Π» ΠΊΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π±Π΅Π· ΡΡΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ.
ΠΠ° ΠΊΡΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π° ΡΠΊΠ·Π°ΠΌΠ΅Π½Π΅.
π’ Π‘ΡΠ°ΡΡΡΠ΅ΠΌ ΡΠΆΠ΅ 31 ΠΌΠ°Ρ!
ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΡ ΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠ°Π»ΠΎΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅!ππ» https://vk.cc/cx5uvn
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ru
Π‘ΠΎΠ²Π΅Ρ
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ cron, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Spring CronExpression.
ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ cron expr ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° next() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
π@BookJava
π©βπ» ΠΡΠΎΠΉΠ΄ΠΈ ΡΠ΅ΡΡ ΠΏΠΎ Java ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ.
ΠΡΠ²Π΅ΡΠΈΡΡ β ΠΏΡΠΎΠΉΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΊΡΡΡ "Java Developer. Professional" ΠΎΡ OTUS ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½Π΅ + ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΏΠΈΡΡΠΌ ΠΎΡΠΊΡΡΡΡΡ
ΡΡΠΎΠΊΠΎΠ² ΠΊΡΡΡΠ° ΠΊΡΡΡΠ°
π ΠΠ ΠΠΠ’Π Π’ΠΠ‘Π’: https://vk.cc/cx5tGb
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576ΠΠ½ΡΡΡΠΈ JVM: ΠΠ°ΡΡΠΈΠ²Ρ ΠΈ ΠΈΡ
ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ°ΡΡΠΈΠ²Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² JVM, ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΡ
ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΡΡΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
Java - ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΡ
Π½Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Java, ΠΎΡΠ½ΠΎΡΡΡΡΡ Π±ΡΠ»Π΅Π²Ρ ΡΠΈΡΠ»Π°, Π±Π°ΠΉΡΡ, ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» (short, int ΠΈ long), Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ (floats ΠΈ doubles). ΠΠ½ΡΡΡΠΈ JVM ΡΡΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΡΡΡΡ Π² "ΡΡΡΠΎΠΌ" Π²ΠΈΠ΄Π΅. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ int ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄Π»Ρ JVM 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠΎΠΈΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°. (ΠΠ°ΠΌΠ΅ΡΠ½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΊΡΡΠ΅).
https://blogs.oracle.com/javamagazine/post/java-array-objects
π@BookJava
π Spring Boot Ρ DevTools Π΄Π»Ρ Live Reloadπ
Π£ΡΠΊΠΎΡΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ DevTools! π₯
https://docs.spring.io/spring-boot/reference/using/devtools.html
π@BookJava
π©βπ» Π₯ΠΎΡΠΈΡΠ΅ ΡΡΠ°ΡΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, Π½ΠΎ Π΄ΡΠΌΠ°ΠΉΡΠ΅, ΡΡΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ ΡΠΊΡΡΠ½ΠΎ?
Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π² Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅!
ΠΠ΄ΡΠΌ Π²Π°Ρ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΡ OTUS, Π³Π΄Π΅ ΠΌΡ:
- ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Java;
- ΠΈΠ·ΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΡ
Π±Π»ΠΎΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΡΡΠΎΡΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Java Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ.
πΠΠΎΡΠ»Π΅ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡ
ΠΎΠΆΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ»ΡΡΡΠΈΡΡ Π΅Π³ΠΎ!
Π‘ΠΏΠΈΠΊΠ΅Ρ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ Π€ΠΈΡΡΠ½ΠΎΠ² β Senior Kotlin Developer Π² SSP Software Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΠ’Π, ΠΎΠΏΡΡΠ½ΡΠΉ ΠΌΠ΅Π½ΡΠΎΡ, ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π½Π°ΡΠΊ.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 29 ΠΌΠ°Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΡΡΡΠ° Β«Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ».
ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
β‘οΈ Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cx3JsJ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Π‘ΠΎΠ²Π΅Ρ ΠΏΠΎ Java π‘βοΈ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π΄Π½ΠΈ ΠΌΠ΅ΡΡΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
YearMonth, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π΄Π΅Π½Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ datesUntil(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Stream Π²ΡΠ΅Ρ
Π΄Π½Π΅ΠΉ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
π@BookJavaΠΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°?
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π²ΡΡ Π΅ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΈ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
1. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
(x, y) -> x * y
2. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄: Math::sqrt
ΠΠ° ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°/ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΡΠ²Π½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄-ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΎΠΌ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ var. Π’Π°ΠΊΠΆΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π»ΡΠΌΠ±Π΄Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ generic-ΡΠΈΠΏΠ°, ΡΡΠΎΡ ΡΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΈΡΠ°ΡΡΡΡ Π² Π½Π΅Π³ΠΎ).
π@BookJavaΠΠΎΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Clojure β ΡΡΠΎ ΠΊΡΡΡΠΎ?
Π Clojure ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π½Π΅ΠΉ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π₯ΠΎΡΠ΅ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ? Π’ΠΎΠ³Π΄Π° ΠΆΠ΄Π΅ΠΌ ΡΠ΅Π±Ρ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΡ OTUS, Π³Π΄Π΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ:
β«οΈΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ;
β«οΈΠΊΠ°ΠΊ Β«ΠΏΡΠΎΡΡΠΏΡΠ²Π°ΡΡΒ» Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄;
β«οΈΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ.
Π Π²ΡΡ ΡΡΠΎ Π½Π΅ Π²ΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ REPL!
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 30 ΠΌΠ°Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΡΡΡΠ° Β«Clojure DeveloperΒ». ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
β‘οΈ Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cx3CGN
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
new Integer(128) == 128?
ΠΠ»Ρ Π²ΡΠ΅Ρ
ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΎΠ±Π΅ΡΡΠΎΠΊ Π½Π°Π΄ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ ΠΊΡΠΎΠΌΠ΅ Float ΠΈ Double ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ valueOf).
ΠΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΠΎΠ±Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
Boolean, Character Π΄ΠΎ '\u007f' (127) ΠΈ Π²ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ -128 Π΄ΠΎ 127 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. Π‘ Java 7 Π²Π΅ΡΡ
Π½ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Integer ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ java.lang.Integer.IntegerCache.high.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΊΡΡΠΈΡΡΡΡΡΡ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΊΠ»Π°ΡΡΠ°Ρ
: BigDecimal, Currency, ΠΏΡΡΡΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ΅ΡΠ°Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°Π²Π°ΡΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈ ΠΊΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ JVM Π° Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠΎΠ².
Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Π²ΠΎΡ
: ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°-ΠΎΠ±Π΅ΡΡΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠΌ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π°Π½Π±ΠΎΠΊΡΠΈΠ½Π³Ρ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ β Π΄Π°.
π@BookJava
