原创 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