一。JVM
常量池在java用於儲存在編譯期已確定的,已編譯的class檔案中的一份資料。它包括了關於類,方法,介面等中的常量,也包括字串常量
常量池中除了包含代碼中所定義的各種基本類型(如int、long等等)和對象型(如String及數組)的常量值外,還包含一些以文本形式出現的符號引用,比如:
類和介面的全限定名;
欄位的名稱和描述符;
方法和名稱和描述符。
那麼編譯器將來源程式編譯成class檔案後,會用一部分位元組分類儲存這些粗體代碼。而這些位元組我們就稱為常量池。事實上,只有JVM載入class後,在方法區中為它們開闢了空間才更像一個“池”。
java 為了更有效使用記憶體,常量池在編譯期遇見String 字串時,它會檢查該池內是否已經存在相同的String 字串,如果找到,就把新變數的引用指向現有的字串對象,
不建立任何新的String 常量對象,沒找到再建立新的。所以對一個字串對象的任何修改,都會產生一個新的字串對象,原來的依然存在,等待記憶體回收。
二、萬物皆對象
1.物件導向特點.
1)萬物皆為對象。
2)程式是對象的集合。
3)每個對象都有自己的由其他對象所夠成的儲存。
4)每個對象都擁有其類型。
5)某一特定類型的所有對象都可以接收同樣的訊息
2.對象具有狀態、行為和標識。
*)每一個對象都可以擁有內部資料(它們給出了該對象的狀態)
*)每一個對象都可以擁有方法(它們產生行為)
*)並且每一個對象在記憶體中都有一個唯一的地址,與可以唯一地與其他對象區分開來。
三、流程
1.return、continue、break的使用
outer:
while(){
for(){
break;//(1)
continue;//(2)
continue outer;//(3)
break outer;//(4)
}
}
(1)中,break中斷內部的迴圈,回到外部迴圈
(2)中,continue使執行點回到內部迴圈的起始處
(3)中,continue outer同時中斷內部以及外部迴圈,直接轉到outer處,實際上繼續從外部迴圈開始迴圈。
(4)中,break outer也會中斷所有迴圈,並回到outer處,但並不重新進入迴圈。實際上完全中止了兩個迴圈。
========java編程思想第四版,下載連結===========================
http://download.csdn.net/detail/tzguo1314/5314416