java局部變量,成員變量在堆和棧中的存儲


對於局部變量,如果是基本類型,會把值直接存儲在棧;如果是引用類型,比如String s = new String("william");會把其對象存儲在堆,而把這個對象的引用(指針)存儲在棧。
再如
String s1 = new String(“william”);
String s2 = s1;
s1和s2同為這個字符串對象的實例,但是對象只有一個,存儲在堆,而這兩個引用存儲在棧中。

類的成員變量在不同對象中各不相同,都有自己的存儲空間(成員變量在堆中的對象中),基本類型和引用類型的成員變量都在這個對象的空間中,作為一個整體存儲在堆。而類的方法卻是
該類的所有對象共享的,只有一套,對象使用方法的時候方法才被壓入棧,方法不使用則不占用內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM