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 are the uses of java?
What happens if an exception is not handled in a program?
How do you remove an object from an arraylist in java?
What is matcher in java?
What are the types of classes in java?
Can a class inherit the constructors of its superclass?
What does singleton class mean?
Difference between Primary key and unique key?
What is the functionality of Webserver?
How to optimize the javac output?
What are abstract methods in java?
Give example to differentiate between call by value and call by reference.