原创 java類庫的閱讀筆記_jdk1.7.0_40_java.io.Serializable

2013 1024: 類:java.util.LinkedList 筆記:序列化感覺是一個很簡單的東西,serialVersionUID在序列化這個對象時,會被附帶到對象信息中。調用ObjectInputStream對象的readObje

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.Collections

2013 1021: 類: java.util.Collections 方法: public static <T extends Object & Comparable<? super T>> T min(Collection<?

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.concurrent.locks.AbstractQueuedSynchronizer

2013 1107: 低仿ReentrantLock~ package lock; public class MyLock { private Thread currentThread = null; public void l

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.concurrent.locks.ReentrantReadWriteLock

2013 1113: 這個類實現了接口 ReadWriteLock {     Lock readLock();     Lock writeLock(); } 兩個方法分別返回ReentrantReadWriteLock對象持有的屬性r

原创 使用TreeMap

package collections; import java.util.Map.Entry; import java.util.Random; import java.util.SortedMap; import java.util

原创 堆排序

堆排序還是很簡單的,用一個數組來存儲節點,比如k[128]。 最小堆的約束: 1、數據從k[1]開始記錄。 2、節點k[i]的兩個子節點分別爲k[2i]、k[2i+1]。k[i]<=子節點。 3、始終保持節點連續,即n個節點,在數組中佔

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.concurrent.locks.LockSupport

2013 1031: 類: java.util.concurrent.locks.LockSupport 方法: public static void park() 、public static void unpark(Thread

原创 Java併發編程實戰~筆記~章二

1、線程安全要素:對共享、可變狀態的訪問操作。 所謂狀態,是指存儲在狀態變量(實例或者靜態域)中的數據。對象的狀態可能包括其他依賴對象的域。狀態是一系列變量的集中體現,比如 int[] data; int size; 該對象的狀態就包含

原创 volatile

關於volatile關鍵字,對比了《Java併發編程實戰》和《深入理解Java虛擬機》,發現前者是忽悠,即使不是忽悠,也是不清不楚。後者纔是真牛逼,還是國人寫的,真是厲害啊。 我的結論就是: 1、共享可變的long、double變量如果沒

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.LinkedList

2013 1024: 類: java.util.LinkedList 方法: public Object clone() 筆記: LinkedList的克隆是淺克隆。新的LinkedList對象,裏面包含的元素引用,都是指向的

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.HashMap

2013 1027: 類: java.util.HashMap 屬性: table、size、threshold、loadFactor 筆記: table是一個Entry數組,這個數組的長度,或者爲0,或者是2的冪次方。 siz

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.ArrayList

2013 1025 類: java.util.ArrayList 筆記: 這個類用數組存儲數據,和LinkedList的區別,就是讀寫數據。 數據讀取: ArrayList實現了RandomAccess,代表着直接用下標取數據

原创 使用ReentrantLock

使用ReentrantLock,最大的感觸就是,一定要嚴格按照使用規範去寫,否則各種多線程問題讓人防不勝防。 大概幾點吧: 1、無論是ReentrantLock還是Condition都是爲了鎖資源而存在的,沒有資源的話,這些東西就沒有意義

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.Timer

2013 1116: 類: java.util.Timer 屬性: private final TaskQueue queue = new TaskQueue(); 筆記: 一個定時器可以支持多個定時任務,定時任務的存儲就放在queue

原创 java類庫的閱讀筆記_jdk1.7.0_40_java.util.concurrent.ConcurrentHashMap

2013 1113: 類: java.util.concurrent.ConcurrentHashMap 筆記: 這個類是經常使用的併發容器,但是看了一下源碼,也不是那麼牛逼。 它的併發安全性,主要是在寫操作(新增和刪除)時,使用R