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存儲