Java編程思想讀書筆記–一切都是對象
- 2019 年 11 月 21 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/wangtongxue123456/article/details/65481734
一切都是對象
Java是一種更純粹的面向對象程式設計語言。
用引用操作對象
儘管一切都看做對象,但是操縱的標識符實際上是對象的一個「引用」(reference)。也就是說,你擁有一個引用,並不一定需要一個對象與它關聯。
String s;
存儲到什麼地方
程式運行時,對象是怎麼進行放置安排的呢?特別是記憶體是怎樣分配的呢?實際有五個不同的地方可以存儲數據。
1 . 暫存器:這是最快的存儲區,但是你不能直接操縱它。 2 . 堆棧: 位於通用RAM中,但通過堆棧指針可以從處理器哪裡獲得直接支援。堆棧指針如果向下移動,則分配新的記憶體,若向上移動,則釋放那些記憶體 。這是一種快速有效的方法,僅次於暫存器。創建程式時,java必須知道存儲在堆棧內所有項的確切的生命周期,以便上下移動堆棧指針。這一約束限制了程式的靈活性,所以雖然某些java數據存儲在堆棧中–特別是對象引用,但是java對象並不存儲與其中。 3 . 堆 :一種通用的記憶體池,用於存放所有的java對象,堆不同於堆棧的好處是:編譯器不需要知道存儲的數據在堆中存活多長時間。因此,在堆里分配存儲有很大的靈活性。當然這種靈活性也必須付出相應的代價,用堆進行儲存分配和清理可能比堆棧進行存儲分配需要更多的時間。 4.常亮存儲 5.非RAM存儲