java 基礎 static 關鍵字

今天在寫一個程序,在一個數據處理模塊中出現個奇怪的現象,裏面有個變量是一個LinkedList,用protected修飾,在線程中進行數據追加,然後外部來取處理後的數據,取之前判讀是否有數據;結構如下:

// 全局變量保存數據
protected LinkedList<Bitmap> outer_q = new LinkedList<Bitmap>();
run{
	while(true){
		...
		// 生成bitmap
		outer_q.add(bitmap);
		System.out.println("run() ---->> outer_q.size = "+outer_q.size());
	}
}
public boolean isGetData()
{
	 System.out.println("isGetData() ---->> outer_q.size = "+outer_q.size());
	return outer_q.size() == 0 ? false : true;
}

然後奇怪的現象出現了,在每次add完之後,計算size每次都在增加,isGetData() 計算size時,死活都是返回0,各種怪異,不知何故,邏輯關係理了n遍,徹底檢查了,沒有地方remove鏈表內容,奇了怪了啊。尼瑪,最後在定義是加static關鍵字修飾,擦,整個世界亮了,尼瑪,本路殺了搞java的傷不起啊,基礎沒打好就是這麼悲劇啊,改天得惡補一下了啊,唉。。。情何以堪吶。。。誰給分析分析這是爲何呢???

protected static LinkedList<Bitmap> m_out_q = new LinkedList<Bitmap>();





發佈了36 篇原創文章 · 獲贊 7 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章