java吧王者_java单排上王者!(一) java内存
大猩猩出山!非火必紅!
以上便是文章,以下則為后感。
這文章講的是java內存,什么堆啊棧啊常量池,像我這種不怎么上心記東西的人的確也不太分的清。先了解概念!
堆(heap):? 用來存放由new創建的對象和數組
1)存是存了,總不能一直存著吧,所以java虛擬機負責來自動回收堆內存產生的垃圾
2)堆中的數組或者對象,都可以在棧中找到他的另一半(一個特殊的變量),棧中這個變量的取值等于數組或者對象在堆內存的首地址,棧中的一個變量就成了數組或者對象的引用變量了(就這么勾搭上了。)
stack(棧): 存放基本數據類型and對象或者數組的引用
1)如果存放的是基本類型(But ! 不能是靜態變量), 則直接把變量名和值存入stack中的內存。
2)如果是引用類型或者數組, 那就把變量名存入棧, 然后把它指向它new出的對象(存放在堆中)。
3)??或說靜態變量怎么好像被遺忘了!先馬后解決!? // 好像是放在靜態域?
data segment:? 分為靜態域和常量域。
1) 靜態域:存放對象中用static定義的靜態成員
2)常量池:在編譯期被確定,并保存在已編譯的.class文件中的一些數據。除了包含代碼中所定義的基本類型(int, long)和對象型(String以及數組的常量值(final), 還包含一些以文本形式出現的符號引用。比如類和接口的全限定名;字段的名稱和描述符;
還有幾個例子。 - -? 有點懶,明天看。今天 先搞懂概念
總結
以上是生活随笔為你收集整理的java吧王者_java单排上王者!(一) java内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java枚举新特性_java回顾之枚举和
- 下一篇: 内存条大揭秘:DDR3、DDR4、DDR