String Flashcards

1
Q

Co to jest String Pool

A

String Pool - jest specjalnym miejscem w pamięci, w którym przechowywana jest pula wszystkich Stringów.

Lądują tam wszystkie obiekty typu String zainicjowane przy użyciu cudzysłowiu - obiekty zainicjowane przy pomocy słowa new lądują w pamięci lokalnej, po za pulą zanków.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Dlaczego String jest niezmienny ?

A

a). BEPIECZEŃSTWO - jeżeli w aplikacji występują połączenia przedstawiane za pomocą Stringa lub dane użytkowników - hasła, nazwy, połączenia z bazami danych - gdyby String mógłby być modifikowany to zmiany wymienionych parametrów stanowiłby zagrożenie.

b). SYNCHRONIZACJA - w programowaniu wielowątkowym - skoro String jest niezmienny to automatycznie rozwiązuje to problem z synchornizacją.

c). Zarządzanie pamięcią - kompilator widzi kiedy dwa obiekty typu String posiadają tą samą wartość - dlatego możliwa jest optymalizacja - wystarczy jeden obiekt aby reprezentować więcej zmiennych.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czym jest String Intern

A

String intern to obiekt składowany w puli.

Użycie metody intern() na ciągu obiektów String spowoduje że będziemy mogli by pewnie że wszystkie obiekty o tej samej zawartości mają jedno miejsce w pamięci puli.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

StringBuffer vs StringBuilder

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly