原创 Android判斷SD卡是否存在的實現
Android中判斷SD卡是否存在,並且可以進行寫操作,可以使用如下代碼 if (android.os.Environment.getExte
原创 獲取未安裝的APK圖標
001 package lab.sodino.fetchapkicon; 002 003 import java.io.File; 004 import java.lang.reflect.C
原创 java 線程wait()與notify()的用法(被喚醒後的線程到底重新執行同步代碼塊還是從那是等待的那裏繼續執行)
我們先來看看這兩個方法的定義: wait() 導致當前線程等待,直到其他線程調用此對象的 notify()方法或 notifyAll()方法前,導致當前線程等待。 noti
原创 線程--CyclicBarrier
本例介紹第三個同步裝置:CyclicBarrier,它維護一個計數器,與CountDownLatch不同的是,等待這個CyclicBarrier的線程必須等到計數器到達某個值時,纔可以繼續。CyclicBarrier就像它名字的意思一樣
原创 java靜態內部類
非靜態內部類裏面不能有靜態成員:靜態方法是不用生成實例就可以被訪問,非靜態內部類不被實例化就無法被訪問,所以其內的靜態成員也是無用的。 public class OuterClass { .
原创 Android存儲空間不足
“存儲空間不足”data過小的通知分析DeviceStorageMonitorService類 位置 DeviceStorageMonitorService.java (frameworks\bas
原创 Android Looper和Handler分析
第一次接觸android應用程序(這裏指的是JAVA層的UI程序,也難怪了,Google放出的API就只支持JAVA應用程序了),很難搞明白內部是如何實現的。但是,從原理上分析,應該是有一個消息循環,一
原创 Git 中文教程
介紹 Git --- The stupid content tracker, 傻瓜內容跟蹤器。Linus 是這樣給我們介紹 Git 的。 Git 是用於 Linux 內核開發的版本控制工具。與常用
原创 詳解 Android 的 Activity 組件
詳解 Android 的 Activity 組件 Activity 的生命週期 和 J2ME 的 MIDlet 一樣,在 android 中,Activity 的生命週期交給系統統一管理。與 MI
原创 java實現信號量
本文介紹的Semaphore實現基於synchronized,wait()和notify/notifyAll(),這是java併發包之前的典型實現方式.在eclipse的源碼中可以找到不少這樣的案例,下文中也會把eclipse中的幾個實現
原创 淺析Java中CountDownLatch用法
CountDownLatch如其所寫,是一個倒計數的鎖存器,當計數減至0時觸發特定的事件。利用這種特性,可以讓主線程等待子線程的結束。下面以一個模擬運動員比賽的例子加以說明。 import java.util.concurrent.Cou
原创 Java編程語言中notify和wait的具體應用
Java編程語言在應用的時候需要我們不斷的進行相關知識的學習,首先我們先要理解notify()和wait(),只有理解了這個語句才能更好的進行相關的應用。希望大家有所收穫。 爲什麼在前幾天紀錄
原创 Factory Method Pattern
Motivation Also known as Virtual Constructor, the Factory Method is related to the idea on which lib
原创 Java回調機制實現
Java的接口支持提供了一種獲得回調的等價功能的機制。其技巧是:定義一個簡單的接口,並在該接口中聲明我們要調用的方法。其特點是:一個實例持有一個接口的引用 例如,假設我們希望在某個時間發生時得到通知。我
原创 Singleton Pattern
Motivation Sometimes it's important to have only one instance for a class. For example, in a system