一切都是對象 (think in java) – JAVA編程語言程序開發技術文章

1、一切都是對象,用句柄操作對象
      句柄和對象可以比作遙控器和電腦;即使沒有電視機,遙控板也可以獨立存在,擁有一個句柄並不一定要有個對象與他鏈接;創建一個句柄,沒有初始化,會出異常,你並沒有給其創建對象;
2、所有對象都必須創建
創建對象時,我們希望它與一個對象相連接,通過new關鍵字,意思為把我創建一個新對象;
  2、1數據保存在什麼地方
 1、寄存器:這是保存最快的地方,因為它存在與其它存儲器不同的地方,處理器內部;(我們對寄存器沒有任何控制權,在程序裡你也找不到寄存器的影子);
 2、堆棧,位於常規ram,但它可以通過堆棧指針獲得處理器的支持,堆棧指針下移會創建新的內存,上移則會釋放內存,這是一種特別快特別有效的存儲方式,速度僅次於寄存器,java數據要保存在此,特別是句柄,對象不保存於此;
3、堆,是一種常規存儲的內存池,保存瞭java對象,
4、靜態存儲;這的靜態是指位於固定位置,程序運行期間,靜態存儲的數據將隨時等候調用。可用static關鍵字指出一個對象的特定元素是靜態的。但Java對象本身永遠都不會置入靜態存儲空間。
 
5、其它的;
2.2特殊情況和特殊類型
     有一些類需要特別對待,可以理解為基本類型或主類型,進行程序設計時需要頻繁的使用它們。之所以特別對待,因為new創建對象並不是特別對象,因為將新創建的對象放在瞭堆裡,不是用new創建變量,而是創建一個並非句柄的“自動”變量。這個變量容納瞭具體的值,並置於堆棧中,能夠更高效地存取。
Java決定瞭每種主要類型的大小。類型有int char byte short long float double
2.3java數組
創建數組時很可能之創建瞭個數組句柄,並未真正創建數組對象

發佈留言