String Flashcards
Co to jest String Pool
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.
Dlaczego String jest niezmienny ?
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.
Czym jest String Intern
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.
StringBuffer vs StringBuilder