Oh My, JAVA?!

Originally posted by Ilja Preuss:
The "new" operator creates a new object of the ClassA type on the heap and returns a reference to the object. The reference is then assigned to the obj variable. As obj is a local variable, it lives on the stack.

Does that help?



To add, the starting point to make the distinction is the lifetime-predictability of the variable (reference).

Since, for objects, the lifetime is unpredictable, they are always in the heap.

For in-method variables (primitives and references), like Ilja explains, the lifetime is predictable, and hence in the stack.

For instance variables (primitives and references), the lifetime is unpredictable, hence the heap.

This holds for both references and primitives.

I hope this properly summarizes the concept.                             
html

 

 

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.htmljava

JVM performance optimization, Part 3: Garbage collection

http://www.javaworld.com/article/2078645/java-se/jvm-performance-optimization-part-3-garbage-collection.htmlweb

 

How Garbage Collection Really Works

http://www.dynatrace.com/en/javabook/how-garbage-collection-works.htmloracle

 

JVM memory and garbage collection policy analysis model

http://www.codeweblog.com/jvm-memory-and-garbage-collection-policy-analysis-model/jvm

 

Java (JVM) Memory Model and Garbage Collection Monitoring Tuning

http://www.journaldev.com/2856/java-jvm-memory-model-and-garbage-collection-monitoring-tuningpost

 

JVM performance optimization, Part 3: Garbage collection

http://www.javaworld.com/article/2078645/java-se/jvm-performance-optimization-part-3-garbage-collection.htmlui

 

Java™ Memory: Understanding and Analyzing the Java Heap
http://www-01.ibm.com/support/docview.wss?uid=swg27019232&aid=1
 

Reference Types In Java - Part 1this

http://java.dzone.com/articles/reference-types-java-part-1spa

相關文章
相關標籤/搜索