原创 Java基礎知識整理之異常篇
直接上代碼: class ExceptionA extends Exception{ //繼承自Exception類,爲受檢查的異常 } class ExceptionB extends RuntimeException{
原创 Java數組
1.Java的數組是靜態的,即當數組被初始化之後,該數組的長度是不可變的。 2.Java數組的初始化有以下兩種方式: 靜態初始化:由程序員顯式指定每個數組元素的初始值,系統自動決定數組的長度。
原创 ThreadLocal變量
ThreadLocal很容易讓人望文生義,想當然地認爲是一個“本地線程”。其實,ThreadLocal並不是一個Thread,而是Thread的局部變量。當使用ThreadLocal維護變量時,ThreadLocal爲每個使用該變
原创 JAVA虛擬機
1.Java虛擬機的生命週期 每個Java程序都運行於某個具體的Java虛擬機實現的實例上。當啓動一個Java程序時,一個虛擬機實例就誕生了。當該程序關閉時,虛擬機實例也隨之消亡。如果在同一臺計算機上同時運行三個Java程序,將得
原创 Java泛型的類型擦除
一、泛型簡介 所謂的泛型,即將類型參數化。主要思想是將算法和數據結構完全分離開,使得一次定義的算法能夠提供多種數據結構使用,從而實現高度可重用的開發。在Java中,可以定義泛型類,泛型接口以及泛型方法。 C++和Jav
原创 Java I/O 序列化機制
對象序列化的目標是將對象保存到磁盤中,或者通過網絡進行傳輸。序列化機制允許把內存中的Java對象轉換成平臺無關的二進制流,並在需要的時候恢復成原來的Java對象。序列化是保持對象輕量級持久的方式。爲了讓某個類是可序列化的,該類必
原创 Properties類
包:java.util public class Propertities extends Hashtable Properties 類表示了一個持久的屬性集。Properties 可保存在流中或從流中加載。
原创 Java多線程 類庫中的構件(一)
1.CountDownLatch 同步輔助類,在完成一組正在其他線程中執行的操作之前,它允許一個或多個線程一直等待。用給定的計數初始化CountDownLatch。由於調用了 countDown() 方法,所以在當前計數到達零之前,a
原创 Java多線程
1.Runnable接口與Callable接口的區別 Runnable接口中的方法簽名爲:public void run();該方法不能聲明拋出受檢查的異常,但在方法體內可以捕獲並處理異常; Callable<V>接口中的
原创 Java多線程類庫中的組件(二)
1.Semaphore 一個計數信號量,允許N個任務同時訪問一個資源,而concurrent.locks或內建的synchronized鎖,任何時候只允許一個任務訪問一項資源;信號量維護了一個許可集。如有必要,在許可可用前會阻塞每一個
原创 JVM 垃圾回收算法
1.根搜索算法 JVM使用根搜索算法判斷一個對象是否可以回收,而不是使用所謂的“引用計數”算法。引用計數算法給每個對象添加一個引用計數器,每當有一個地方引用到該對象,則計數值加1;當引用失效時,計數值減1;任何時候只要對應計數值爲
原创 Android移動存儲方案
在Android系統中提供了多種存儲技術,下面分別作簡要的介紹。 1.最簡單的存儲方式SharedPreferences SharedPreferences可以將數據保存在應用軟件的私有存儲區,具體位置是在/data/da
原创 對象與內存控制
1.Class文件 Java class文件是對Java程序二進制文件格式的精確定義,每一個java class文件都對一個類或者一個接口作出了全面的描述。當每一次使用類時,JVM會檢查對應的class文件是否已經加載,如果未加載