difference between String a; and String a=new String();?
y do v need to assign memory to the variable?
Answers were Sorted based on User's Feedback
String a;
jvm creates a reference & allocates memory for storing hashcode value
String a=new String();
jvm creates a object to String class in heap memory & returns the unique hexadecimal equivalent of that memory location which is stored in reference variable a as hashcode.
We dont need to assign memory to variable.because in java memory management is taken care by jvm automatically.Programmer need not worried about memory allocation issue.But yes jvm allocates memory for variable to store hashcode, if it is a referenced variable.If it is primitive type variable then jvm will not allocate extra memory for that variable.Because primitive types stored in object & there is memory allocated for object by jvm.
| Is This Answer Correct ? | 5 Yes | 0 No |
Answer / janardhan
String a; :---
JVM will create String object in SCPM(String constant pool
memory)only.
String a=new String();:---
JVM will create String object in two memories
1. Heap memory
2. String constant pool memory.
| Is This Answer Correct ? | 2 Yes | 1 No |
What is a boolean field?
What are integer overflows and underflows and how to handle them?
When is update method called?
Can one thread block the other thread?
Why transient variables wont participate in serialization?
Define a package.
Can you explain the Java thread lifecycle?
What are the supported platforms by java programming language?
How do you reverse a word in java?
What is the difference between heap memory and stack memory?
How a variable is stored in memory?
What is the structure of java?