今天偶然發現support包下內建了通用型物件池
android.support.v4.util.pool
複製**
物件池的設定很簡單
/**
* inte***ce for managing a pool of objects.
** @param
the pooled type.
*/public
static
inte***ce
pool
複製**
acquire()
負責獲取物件release(t)
負責釋放物件。同時內建實現了2類物件池
//...
private
final object mlock = new object();
//...
@override
public t acquire
() }
@override
public
boolean
release
(t element)
}複製**
在內部實現中,物件池採用陣列儲存物件
private
final object mpool;
複製**
總結
support包中的pool的設計可謂是輕巧,精密。但仍有較大區別與一般的通用型物件池。
關於物件池,一般使用於建立/銷毀物件存在較大效能的情況下類似快取的一種解決方案。在現代jvm上,小物件的建立和**動作是非常廉價,不一定具有入物件池的資格。實際上,可以在pool的基礎做些改進
private
final
byte mlock = new
byte[0];
複製**
生成零長度的byte物件只需3條操作碼,而object lock = new object()則需要7行操作碼
執行緒池 juc包下
1.使用執行緒池的優點如下 1.降低資源消耗 通過重複利用已建立的執行緒,降低執行緒建立與銷毀帶來的損耗。2.提高響應速度 當新任務到達時,任務不需要等待執行緒建立就可以立即執行。3.提高執行緒的可管理性 使用執行緒池可以統一進行執行緒分配 排程與監控。當乙個runnable或callable物件到...
Android SDK中的Support相容包詳解
背景 support library 我們都知道android一些sdk比較 為此google官方提供了android support library package 系列的包來保證高版本sdk開發的向下相容性,所以你可能經常看到v4,v7,v13這些數字,首先我們就來理清楚這些數字的含義,以及它們...
CSS中 support的用法
這段時間一直在除錯瀏覽器的相容性問題,了解到了 support的這個屬性,記錄下 css中的 support主要是用於檢測瀏覽器是否支援css的某個屬性,其實就是條件判斷,如果支援某個屬性,你可以寫一套樣式,如果不支援某個屬性,你也可以提供另外一套樣式作為替補。但是這裡有一點需要注意的是 suppo...