think in java_一切都是對象

第二章:一切都是對象

1.用引用來操作對象

每種編程語言都有自己操作內存中元素的方式;
在Java中,採用引用(reference)來操作對象,在Java語言中,一切都是對象,但是操作表示符只是對象的一個引用。
String s;   這條語句只是創建了一個引用,並沒有創建一個對象
String ss = "hello work";  這裏才創建了一個String對象

2.必須由你來創建所有對象

如果你創建了一個引用,那麼希望它和一個新的對象關聯;
一般創建使用new關鍵字來實現這個目的
String str = new String ("HelloWork");

2.1存儲在什麼地方

程序在運行的時候,對象是怎麼進行安排放置的?內存如何分配?
~五大存儲區
1.寄存器
最快的存儲區,位置在處理器內部,但是寄存器數量有限,所以寄存器根據需求分配,你不能直接控制,也不能在程序中
感覺到它的任何存在。
2.堆棧
速度僅次於寄存器,位於通用RAM(隨機訪問存儲),可以通過堆棧指針從處理器那裏獲得支持
堆棧指針向下移動,創建新的內存,若向上移動,釋放內存。
java系統必須知道存儲在堆棧內部所有項的
         
         
         
         
         
         
         
         
         
         
生命週期,以便向上或向下移動堆棧指針。
3.堆
一種通過的內存池,也位於RAM中,用於存放所有的java對象
堆和堆棧的不同是,編譯器不需要存儲的數據在堆中的生命週期,靈活性比堆棧高
但是高靈活性付出的代價是,在堆中分配和清理可能比堆棧需要更多的事件
4.常量存儲
常量值一般存儲在程序代碼內部,這樣做事安全的,因爲它們的值永遠不需要改變
5.非RAM存儲
如果數據存儲在程序之外,那麼它可以不受程序的任何控制,在程序沒有運行時也可以存在。
例如:
流對象
在流對象中, 對象轉化成字節流,通常發送給另外一臺機器
持久化對象
對象用於存放在磁盤
2.2 基本類型
基本類型 大小 最大值 最小值 包裝類型
boolean       Boolean
char 16 bits Unicode0 Unicode2_16-1 Char
byte 8 bits +127 -128 Byte
short 16 bits +2_15-1 -2_15 Short
int 32 bits +2_31-1 -2_31 Integer
long 64 bits +2_63-1 -2_63 Long
float 32 bits IEEE754 IEEE754 Float
double 64 bits IEEE754 IEEE754 Double
void       Void
基本類型 大小 最小值 最大值 包裝類型
         
         
         
         
         
         
         
         
         
2.3 java中的數組
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章