原创 鎖、重入鎖與條件

Java中的鎖框架指的是java.util.concurrent.locks這個包裏的,不同於對象的內置加鎖同步以及java.lang.Object的等待/通知機制,包含鎖框架的併發工具通過輪詢鎖、限時等待及其他方式改善了這種機制。

原创 AsyncTask解析

在Android AsyncTask中有以下幾個主要的函數: onPreExecute() doInBackground(Params…) onProgressUpdate(Progress…) onPostExecute(Result

原创 Android NDK調用不符合jni規範的so文件

我們在使用Android靜態加載so庫的時候,一般都需要這個so庫是符合jni命名規範的,像這樣: Java_全類名_方法名 但是可能會遇到一些比較特殊的情況,同事只給了你一個so庫,這個so庫並不是用的jni命名,除此之外,他還給了

原创 Map的方方面面

常見的Map實現類 Map類 特性 HashTable Map基於散列表的實現,HashTable繼承自抽象類Dictionary(Dictionary是一個被廢棄的接口),是線程安全的。 HashMap Map基於散列表

原创 同步器-倒計時門閂

Java中雖然提供了synchronized關鍵字對臨界區進行線程同步訪問,但是基於synchronized很難正確地編寫同步代碼,而倒計時門閂可以讓一條或多條線程在“門口”一直等待,直到門閂的計數變量爲0,線程纔可以繼續執行。 組成 類

原创 從不同角度看同一數據結構-訪問者模式

訪問者模式是一種複雜的設計模式,使用頻率不高,下面舉一個公司對員工業績考覈的例子,CEO和CTO對員工的考覈標準是不一樣的 員工抽象類 public abstract class Staff { public String n