Q1. Which are the different segments of memory ?
Ans. 1. Stack Segment - contains local variables and Reference variables(variables that hold the address of an object in the heap)
2. Heap Segment - contains all created objects in runtime, objects only plus their object attributes (instance variables)
3. Code Segment - The segment where the actual compiled Java bytecodes resides when loaded
Q2. Different types of memory used by JVM ?
Ans. Class , Heap , Stack , Register , Native Method Stack.
Q3. Which kind of memory is used for storing object member variables and function local variables ?
Ans. Local variables are stored in stack whereas object variables are stored in heap.
Q4. Why do member variables have default values whereas local variables don't have any default value ?
Ans. member variable are loaded into heap, so they are initialized with default values when an instance of a class is created. In case of local variables, they are stored in stack until they are being used.
Q5. Which memory areas does instance and static variables use ?
Ans. instance variables are stored on stack whereas static variables are stored on heap.