Difference between String, String Buffer and String Builder
|String||String Buffer||String Builder|
String constant pool
|objects||Immutable object created (fixed size)||Mutable objects created||Mutable objects created|
|memory||If we change the value of string a lot of time it will allocate more memory||Consumes less memory (original object value change)||Consumes less memory|
|Thread Safe||Not thread safe||All methods are thread safe and it is a thread safe||Non-synchronized methods and not thread safe|
|performance||slow||Fast as compared to string||Fast as compared to string builder|
|use||If the date s not changing frequently||Data is changing frequently||Data is changing frequently|
String constant pool : it s a special memory location is heap area which stores string literals.
Immutable objects : the string objects are created immutable the value should not be changed it is fixed memory.