Radzenie sobie z niezmiennym ciągiem w to bardzo ważny aspekt w każdym języku programowania. W tym artykule omówimy następujące wskazówki:
co jest hashset w java
Wprowadzenie do niezmiennego ciągu znaków w Javie
Pula ciągów zawiera obiekty ciągów, które są buforowane, dzięki czemu ciąg jest niezmienny. Wielu klientów współużytkuje buforowane literały ciągu. Ryzyko związane z działaniem jednego klienta wpłynęłoby na wszystkich pozostałych klientów.
Na przykład, gdy klient zmieni wartość ciągu „Test” na „TEST”, wszyscy pozostali klienci zobaczą zmienioną wartość. Ponieważ buforowanie obiektów typu string było ważne dla wydajności, klasa Immutable String pozwoliła uniknąć tego ryzyka. Również, Ciąg stał się ostateczny, dzięki czemu niezmiennik klasy String nie zostanie naruszony. Przykład Niezmienność, buforowanie, obliczanie kodu skrótu wykonywane przez rozszerzenie i nadpisanie zachowań.
Klucz Hashmap
Klucz HashMap jest bardzo popularny, niezmienność jest bardzo ważna, aby obiekt wartości można było pobrać z HashMap. Haszowanie to zasada HashMap, która wymaga, aby to samo miało wartość do prawidłowego działania. Dwa różne kody skrótu są generowane jeden w momencie wstawiania, a drugi podczas pobierania, gdy zawartość jest modyfikowana po wstawieniu, co może spowodować utratę obiektu wartości mapy na mapie.
Klasa Immutable String w Javie jest najczęściej zadawana .Dyskusja zaczyna się od tego, czym jest String, czym różni się od String w C ++, a następnie pojawia się pytanie: niezmienne obiekty w Javie, zalety niezmiennego obiektu, jakie jest ich zastosowanie i scenariusze ich użycia.
Potrzeba niezmiennego ciągu w Javie
Z dwóch powodów warto powiedzieć, dlaczego klasa Immutable String jest tworzona w Javie:
1. W tym przypadku nie jest w ogóle możliwe posiadanie jednego obiektu typu string / literału.
Odwołajmy się do poniższego przykładu:
„Test” może być określany przez wiele zmiennych odniesienia. Jeśli którykolwiek z nich zmieni wartość dla innych, będzie to również miało wpływ. Zobaczmy, jak to zrobić.
Ciąg A = „Test”
Ciąg B = „Test”
Ciąg Wywołany „Test” .toUpperCase (), który zmienia ten sam obiekt na,'TEST'
więc B będzie również „TESTEM”, co nie jest potrzebne. Poniżej znajduje się diagram, który mówi nam, jak jest tworzony ciąg String w pamięci sterty i puli literałów String.
konfigurowanie Hadoopa na Ubuntu
2. Łańcuch był szeroko stosowany jako parametr w wielu klasach Java. Na przykład, kiedy otwieramy połączenie sieciowe, możemy przekazać nazwę hosta i numer portu jako ciąg znaków, aby otworzyć połączenie z bazą danych, możemy podać adres URL bazy danych jako ciąg.
Niezmienny ciąg prowadziłby do poważnych zagrożeń bezpieczeństwa. Na przykład ktoś może uzyskać dostęp do pliku, do którego ma dostęp, a następnie zmienić nazwę nazwy pliku, aby uzyskać dostęp do innego pliku. W przypadku niezmienności nie musisz się martwić tymi zagrożeniami.
Niezmienny ciąg może również bezpiecznie udostępniać wątki, co jest ważne w przypadku programowania wielowątkowego. Niezmienne wystąpienie ciągu znaków w Javie jest bezpieczne dla wątków, więc nie ma potrzeby zewnętrznej synchronizacji operacji String, aby uniknąć problemów z synchronizacją w języku Java. Kolejną ważną kwestią, na którą należy zwrócić uwagę, jest wyciek pamięci spowodowany przez Substring, który nie jest problemem związanym z wątkiem, ale czymś, o czym należy pamiętać.
W ten sposób dochodzimy do końca artykułu „Niezmienny ciąg w Javie”. do heck out the autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą tak szybko, jak to możliwe.