Неизменим низ в Java: Всичко, което трябва да знаете



Тази статия ще ви предостави подробни и изчерпателни познания за неизменяемия низ в Java, защо е важно?

Справяне с неизменим низ в е много важен аспект във всеки език за програмиране. В тази статия ще обсъдим следните насоки:

Въведение в неизменяемия низ в Java

Пулът от низове има обекти на низове, които се кешират, поради което низът е неизменим. Множество клиенти споделят кешираните низови литерали. Рисковете, свързани с действията на един клиент, биха засегнали всички останали клиенти.





Например, когато клиент промени стойността на String „Test“ на „TEST“, всички останали клиенти ще видят променената стойност. Тъй като кеширането на низови обекти е важно за производителността, класът Immutable String избягва риска. Също, String беше направен окончателен, така че инвариантът на класа String няма да бъде компрометиран. Пример Неизменяемост, кеширане, изчисляване на хеш код, направено чрез разширяване и отмяна на поведението.

Hashmap ключ

Ключът HashMap е много популярен, неизменността е много важна, за да може обектът на стойност да бъде извлечен от HashMap. Хеширане е принципът на HashMap, който изисква същото да има стойност, за да функционира правилно. Създават се два различни хеш кода, един по време на вмъкването и друг при извличането на времето, когато съдържанието се модифицира след вмъкването, като потенциално губи обекта на стойността на картата в картата.



Hashtable-Immutable String в Java
Неизменяемият клас String в Java е най-често задаваният въпрос .Дискусията започва с това, какво е String, как се различава от String в C ++ и след това въпросът е неизменяеми обекти в Java, предимства на неизменяемия обект, каква е тяхната употреба и сценариите за тяхното използване.

какъв е методът на tostring в java

Нужда от неизменим низ в Java

Две причини са важни, за да се каже защо класът Immutable String се прави в Java:

1. Във всеки случай не е възможно да има един низ обект / литерал.



Нека се обърнем към долния пример:

„Тест“ може да бъде посочен от много референтни променливи. Ако някой от тях промени стойността за други, това също ще бъде засегнато. Нека да видим как.

Низ A = 'Тест'
Низ B = 'Тест'


Низ A, наречен „Test“ .toUpperCase (), който променя същия обект в,'ТЕСТ'така че B също ще бъде „TEST“, което не е необходимо. По-долу е дадена диаграма, която ни казва как String се създава в паметта на купчината и Stral literal pool.

2. Низът беше широко използван като параметър за много Java класове. Например, когато отваряме мрежова връзка, можем да предадем име на хост и номер на порт като низ, за ​​отваряне на връзка с база данни можем да предадем URL адреса на базата данни като низ.

код на fibonacci c ++


Неизменният низ би довел до сериозни заплахи за сигурността. Например, някой може да осъществи достъп до файл, до който има достъп, и след това да промени името на името на файла, за да получи достъп до другия файл. В случай на неизменност, няма нужда да се притеснявате за тези заплахи.

Неизменяем низ може безопасно да споделя и нишки, което е важно за многонишковото програмиране. Неизменният екземпляр на низове е безопасен за нишки в Java, така че няма нужда да синхронизирате операцията String външно, за да избегнете проблеми със синхронизацията в Java. Друг важен момент, който трябва да се отбележи, е изтичането на памет, причинено от Substring, което не е проблем, свързан с нишка, а нещо, за което трябва да знаете.

С това стигаме до края на тази статия „Неизменяем низ в Java“. ° С по дяволите от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.