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

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

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

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ packege access level?

Π’ Java сущСствуСт 4 ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° доступа: 3 ΠΈΠ· Π½ΠΈΡ… явных ΠΈ ΠΎΠ΄ΠΈΠ½ нСявный. Private/public/protected - явныС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅. Π’Π°ΠΊ ΠΆΠ΅ сущСствуСт Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ доступа - packege access level. Π•Π³ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅/ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ наслСдникам Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.
πŸ‘21🀬3
Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ понятиС JIT?

АббрСвиатура JIT ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Just-In-Time. Π’ JRE сущСствуСт ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ прямо Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ JIT компилятор ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отслСТивания ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π±Π°Π³ΠΎΠ² ΠΈ ошибок. Π’Π°ΠΊ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΌΡƒ компилятору Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС памяти Π² сравнСнии с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ компиляциСй.
πŸ‘23❀1🀬1
Каким Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
πŸ‘17
Каким Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
Anonymous Quiz
28%
777
33%
666
11%
777 666
26%
ошибка компиляция
3%
ошибка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния
πŸ‘14
Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Π° Double Brace инициализация Π² Java?

Double Brace инициализация
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Java для наполнСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ(set, list, map, queue) ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΈΡ… объявлСниСм. Π’ случаС Ссли Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ unmodifiable ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, Π±Π΅Π· Double Brace ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ элСмСнтов ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ· этого списка unmodifiableList ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Collections класс. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Double Brace ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ "ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ" Π² unmodifiableList всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ элСмСнты сразу ΠΏΡ€ΠΈ объявлСнии.
πŸ‘20🐳2πŸ”₯1
Какая пСрвая строка Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ станСт ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ошибки компиляции?
πŸ‘7
Какая пСрвая строка Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ станСт ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ошибки компиляции?
Anonymous Quiz
9%
6
5%
7
23%
9
37%
10
8%
12
6%
13
12%
Π’ этом ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ‚ ошибок
πŸ‘16
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ WeakReference ΠΈ SoftReference Π² Java? Какая Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими понятиями?

WeakReference
ΠΈ SoftReference упоминаСтся Π² контСкстС сборки мусора.

SoftReference ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ сборщиком мусора Π² случаС Ссли ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΌΠ°Π»ΠΎ памяти, Π° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки SoftReference. Π­Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ наш сборщик мусора ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ освободит Π½Π°ΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠΉ ситуации, Π½ΠΎ Π΄ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ "Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ" эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

WeakReference - Π² случаС Ссли Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· weak-ссылки, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ сразу ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ сборщиком мусора.

Π­Ρ‚ΠΎ критичСскиС отличия ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ссылок.
πŸ‘35πŸ‘2
Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ слово static Π² Java? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄?

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом staticΠ² Java ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄, Π±Π»ΠΎΠΊ ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ класс ΠΈ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ этот ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ классу, Π° Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π˜Π½Ρ‹ΠΌΠΈ словами - ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ½ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ измСнится для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ классу.
πŸ‘51
Π’Π°ΠΌ нравится Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° этом ΠΊΠ°Π½Π°Π»Π΅?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ?

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ 3 простым шагам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

1) Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ ссылкС: https://telega.in/c/javatasks
2) ΠŸΠΎΠΏΠΎΠ»Π½ΡΠΉΡ‚Π΅ΡΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом
3) Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ

Если Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° вашСго поста ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ, ΠΌΡ‹ с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ Π΅Π³ΠΎ.
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° экран?
πŸ‘13🍌10πŸ₯±1
πŸ‘22πŸŽ‰3πŸ†1
Π’ Ρ‡Π΅ΠΌ различия ArrayList ΠΈ LinkedList?

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² самой структурС - ArrayList "ΠΏΠΎΠ΄ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΎΠΉ" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ массив, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ вставкС элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΉ массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n+1(Π³Π΄Π΅ n Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π΄ΠΎ вставки). Из-Π·Π° этого для вставки элСмСнта Π² сСрСдину списка потрСбуСтся сначала "ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ" мСсто ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт, "сдвинув" всС элСмСнты послС мСста вставки Π²Π»Π΅Π²ΠΎ. Вставка Π² ΠΊΠΎΠ½Π΅Ρ† массива происходит Π·Π° константноС врСмя. Доступ ΠΆΠ΅ ΠΊ элСмСнтам происходит быстрСС благодаря индСксу элСмСнта.

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² LinkedList ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт "Π·Π½Π°Π΅Ρ‚" своих сосСдСй. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт(ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старый) Π² сСрСдину всС Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ это Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ссылки Π½Π° сосСдСй ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρƒ сосСдСй. Однако для доступа ΠΏΠΎ индСксу Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ "ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ" всС элСмСнты ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ индСкс. Π’Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈ использовании LinkedList слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ памяти Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.
πŸ‘43🀨3πŸ€”2🀣2🌚1
Каким Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции ΠΈ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
πŸ‘15πŸ”₯5
Каким Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции ΠΈ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
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