原创 BlockingQueue!

    Queue接口繼承了Collection接口,其內部定義了六個方法,分爲三大類,分別是新增元素、刪除元素、檢索元素。每一個大類都提供了兩個方法,這兩個方法的作用可以用下面的表格來描述:         (1).add()和off

原创 什麼是字符串(String)的不變性?

    在Java中我們用的最多的對象類型恐怕就是String了。關於String有一個不變性的特性,什麼是字符串的不變性呢?下面有一系列的介紹! 一、申明一個字符串     String s = “abcd”; 其中s存儲了一個字符串對

原创 JVM之內存區域分配

   在上一篇文章中,我們講了Java代碼在JVM中的各種邏輯關係,那麼本文就具體的講述JVM各個組成部分。 JVM的內存區域劃分 Java程序運行時數據區   Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分爲若干個不同的

原创 關於View的一些問題

1、View的回調方法的順序是怎樣的 View從加載開始一些列的回調方法的流程如下:   onFinishInflate()→onMeasure()→onSizeChanged()→onLayout()→onDraw()→onWindow

原创 Android小知識清單(二)

1、Toast的另一種用法     Toast我們通常用來提示文字,但是也可以用來顯示整個View來顯示,如下: Toast toast = new Toast(getApplicationContext()); toa

原创 如何正確停止一個線程

    首先肯定是不能用Thread的stop()方法的,因爲此方法是非常不安全的,而且已經被廢棄了,那麼在這裏就給出一種官方的推薦方案。    private static Thread mThread; private static

原创 JVM之垃圾收集器與分配策略

       通過以上JVM兩篇文章的介紹,我們大致瞭解了Java的內存模型以及對象的存儲和分配,本文在基於以上知識開始講解內存的回收,本文嘗試解決以下的幾個問題:  (1)哪些內存需要回收?  (2)什麼時候進行內存回收?  (3)如何

原创 JVM之類加載機制

       在上一篇文章中我們瞭解了Class文件存儲格式的具體細節,在Class文件中描述的各種信息,最終都要加載到虛擬機中之後才能運行和使用。而虛擬機如何加載這些Class文件?Class文件中的信息進入到虛擬機後會發生什麼變化?這

原创 基於棧虛擬機和基於寄存器虛擬機的比較

虛擬機的概念    首先問一個基本的問題,作爲一個虛擬機,它最基本的要實現哪些功能?    他應該能夠模擬物理CPU對操作數的移進移出,理想狀態下,它應該包含如下概念:  (1)將源碼編譯成VM指定的字節碼。  (2)包含指令和操作數的數

原创 Java到底是值傳遞還是引用傳遞

   在Java中,方法的參數傳遞永遠是值傳遞,不存在引用傳遞。   實際上,如果一個方法的參數是一個對象,那麼當傳遞這個對象的時候實際上是傳遞的一個對象的地址過來,而不是傳遞的一個引用(變量)更不是對象本身,所謂引用變量就是我們 A a

原创 一個APP是否可以沒有Activity?

    如題:我們能否實現一個app,它只由Service組成,也就是說能不能寫一個沒有UI的App呢?     答案是否定的:我們沒法實現一個沒有UI(Activity)的app,也就是說在安裝時我們沒法自己啓動一個Service,如果

原创 從init.rc說起

1 簡述        本文轉載自:http://blog.csdn.net/flydream0/article/details/7458332        Android init.rc文件由系統第一個啓動的init程序解析,此文件由

原创 JVM之類文件結構

           實現語言無關性的基礎仍然是虛擬機和字節碼存儲格式。Java虛擬機不和包括Java在內的任何語言綁定,它至於“Class”文件這種特定的二進制文件格式所關聯,Class文件中包含了Java虛擬機指令集和符號表以及若干其

原创 Lock & Condition

Synchronized同步塊的不足       在多線程環境下保證線程同步的方法大多是使用synchronized關鍵字,但是這個關鍵字在某些環境下是很死板的。其主要缺點如下:      (1)如果一個線程已經在一個synchroniz

原创 Dalvik虛擬機詳解(上)

什麼是Dalvik?     Android平臺是爲那些處理能力、內存、和存儲等處理能力受限的設備而生。     Android應用程序在運行時必須支持多種不同類型的設備,並且基於安全、性能和可靠性考慮必須被沙箱隔離。如此看來,,虛擬機貌