原创 java中鎖的深入理解(一)
JAVA中的鎖分爲兩種,synchronized和Lock。他們都可以實現同步,具體的用法,可以參考我的另一篇文章。 下面深入探討一下,synchronized和Lock兩種鎖方式的原理。 首先看一下synchronized。 p
原创 Android dex分包
Android中使用Dalvik虛擬機來運行應用程序,Dalvik虛擬機是有Google公司爲Android平臺量身定製的,它支持運行.dex格式的Java應用程序的運行。.dex文件將所有的.class文件打包,是專門Dalvik設計的
原创 java中鎖的深入理解(二)
上一篇講到了synchronized實現原理,這一篇一起來學習一下Lock的底層實現原理。 java.util.concurrent包中有很多lock接口的實現類,ReentrantLock,ReadWriteLock,這在我的另一篇文章
原创 Android中的intent詳解
Android中提供intent機制提供應用間的通信。Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用
原创 JAVA集合類解析之List類
JAVA中主要使用的List類有ArrayList和LinkedList,以及不常用的Vector。ArrayList是普通Array數組的擴充,基於隊列實現,LinkedList則是基於鏈表實現。以上兩者皆爲線程非安全。Vector也是
原创 volley框架的簡單說明
volley是Google開發的一款網絡框架,我們可以使用volley來獲取網絡的文本和圖片。 volley框架有5個方法: StringRequset ImageRequest JsonRequset ImageLoader Netw
原创 Android中的JSON解析
關於JSON的解析,下面先貼一段代碼: private void parseJSONinfodata(String infodata) { JSONArray jsonArray = null; try {
原创 Java中的CAS(Compare And Swap)
CAS是compareAndSwap的簡稱,它可以幫助我們實現多線程執行的安全性。 CAS有三個操作數:內存值V、舊的預期值A、要修改的值B,當且僅當預期值A和內存值V相同時,將內存值修改爲B並返回true,否則什麼都不做並返回false
原创 Android 網絡詳解(二) HTTP協議
上一篇講述了TCP協議與UDP協議,這一篇我們來講一講基於TCP協議的HTTP協議。 HTTP協議位於應用層,建立在TCP協議之上,也屬於面向連接的可靠傳輸。它不再像TCP連接那樣需要指定端口號,因爲H
原创 Android中的View全解析(二)
View的內容大致分爲一下四項: View的繪製原理, View的自定義屬性, View的生命週期, View的事件分發機制 下面來講一講View的自定義屬性。我們在自定義VIew的過程中,會爲VIew分配許多自定義的屬性,這時候,an
原创 JAVA中的String類
Java中有一個很特殊的類,String類,用來存儲字符串。 有一個很經典的問題,String string = new String("abcdefg"); String string = "abcdefg";這兩種創建方式有什麼不同
原创 JAVA中的線程
Java是一個支持多線程編程的語言,我們可以使用Thread類實現多線程操作。 我們定義線程,可以使用在Thread的構造方法中傳入一個Runnable的形式,也可重寫Thread的run方法,但是無論怎麼定義,啓動線程時,一定要調用線程
原创 Android中的view全解析(四)
最後,我們來看一下View的事件分發機制。 當我們對一個View進行點擊時(Button也好,ImageView也好),首先會調用View的dispatchTouchEvent方法,方法的代碼如下: public boolean
原创 RelativeLayout與LinearLayout的性能問題
說起RelativeLayout與LinearLayout的性能方面的差異,主要在於Measure部分,在Layout與Draw部分,兩者幾乎沒有什麼太大的差別。 RelativeLayout在進行onMeasure的時候,會子View