Skip to main content

StringPool

-> There is string pool in java which is used for managing the memory efficiently and save the money invested in the memory.
-> There are two types of declaring strings in java:
    String Literal
    String Object.

Example:

String s="ABC";   //String Literal
String s1="ABC";         //String Literal

String sq=new String("ABC");    //String Object
String sq1=new String("ABC"); //String Object

Both stm are use to create  string object in java.
**
When we use String s="Abc" then  string object will be created in the string constant pool SCP area. it is one of memory in method area.
when String literal is created in java, JVM checks the string pool if the string content is already present then again memory is not allocated.
So, It optimizes the use of memory.

String sq1=new String("ABC");
======
But this is not true of u create a string using Option 2. Then the String object is created on heap and each time you create a string object, a new object is created irrespective of its content.
So, same thing is not applies to String objects. String objects shown in example sq and sq1 occupy different location in memory.


****** Below are the hard requirements of an immutable object.

Make the class final
make all members final, set them explicitly, in a static block, or in the constructor
Make all members private
No Methods that modify state
Be extremely careful to limit access to mutable members(remember the field may be final but the object can still be mutable. ie private final Date imStillMutable). You should make defensive copies in these cases.

Comments

Popular posts from this blog

Mockito interview Questions

1.       Question 1. What Is Mockito? Answer : Mockito allows creation of mock object for the purpose of Test Driven Development and Behavior Driven development. Unlike creating actual object, Mockito allows creation of fake object (external dependencies) which allows it to give consistent results to a given invocation. 2.       Question 2. Why Do We Need Mockito? What Are The Advantages? Answer : Mockito differentiates itself from the other testing framework by removing the expectation beforehand. So, by doing this, it reduces the coupling. Most of the testing framework works on the "expect-run-verify". Mockito allows it to make it "run-verify" framework. Mockito also provides annotation which allows to reduce the boilerplate code. 3.       Question 3. Can You Explain A Mockito Framework? Answer : In Mockito, you always check a particular class. The dependency in that class is injected using m...

REST Methods

GET ============================================= HTTP GET method is used to **read** (or retrieve) a representation of a resource. According to the design of the HTTP specification, GET requests are used only to read data and not change it. Therefore, when used this way, they are considered safe. That is, they can be called without risk of data modification or corruption. Means calling it once has the same effect as calling it 10 times. Additionally, GET is idempotent which means that making multiple identical requests ends up having the same result as a single request. Donot expose unsafe operations via GET. It should never modify any resources on the server. Example: ------------    GET http://www.example.com/customers/12345/orders POST =================================== -> The POST verb is most-often utilized to **create** new resources. In particular, it's used to create subordinate resources. -> That is, subordinate to some other (e.g. parent) reso...