Why String Is Immutable In Java | String Immutable Concept In Java | String Concept In Java

preview_player
Показать описание
String In Java | String Advanced Concepts | What Is Heap Memory And String Constant Pool (SCP)

follow me on:

In This video, we will discuss why string is immutable

Immutable means which can't be changed, In the same way in java when we create an object of string class we can't change the content of the object even if we perform concat operation on the string reference variable.

When we use any string reference variable we perform concat operation we actually create a new object at run time and all these objects that are created at run time will be in heap memory.

But still, the reference variable that was created earlier is pointing to the previous object and the new object is not having any reference,
so even if we perform any kind of operation in string object it will create a new object at runtime. If we use the same reference variable still the object remains the same unchanged.
Рекомендации по теме
Комментарии
Автор

But after concat we are accessing changed value only then the purpose of being immutable not served right?
As by any means user is accessing changed value not the old one

rekhakalasare
Автор

It's clear, and how about prinitives data type ? Are Java primitives immutable?

brunomiguel
Автор

What if we always use NEW keyword to create Sting objects and you think JVM will keep all literals encountered during new/concat in SCP ?? There should be a way to tell GC to clean them after some time right ??

basavaraj
welcome to shbcf.ru