原创 ConcurrentHashMap線程安全,相對hashtable提高性能
//hashtable 是針對整個hash列表做一個鎖定, //Collections.synchronizedMap :對所有方法加鎖,故性能比價差 //ConcurrentHashMap是針對桶鎖定,默認16個桶,故相對hashtabl
原创 ClassLoader類加載器
先看例子:public class ClassLoaderTest{ public static void main(String[] args) { ClassLoader cl = ClassLoaderTest
原创 HashMap源碼
public V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTable(threshold); } if (key == null)
原创 裝飾者模式
裝飾模式:類似代理定義:動態給一個對象添加一些額外的職責,就象在牆上刷油漆.使用Decorator模式相比用生成子類方式達到功能的擴充顯得更爲靈活。設計初衷:通常可以使用繼承來實現功能的拓展,如果這些需要拓展的功能的種類很繁多,那麼勢必生成
原创 批量update_mysql
update shop_service_category a,storecore.store_product bset a.out_product_id=b.out_product_idwhere a.shopid = b.store_i
原创 開通
開通博客
原创 Unsafe與CAS
Unsafe:Java無法直接訪問底層操作系統,而是通過本地(native)方法來訪問。不過儘管如此,JVM還是開了一個後門,JDK中有一個類Unsafe,它提供了硬件級別的原子操作。CASCAS,Compare and Swap即比較並交
原创 Unsafe與CAS
Unsafe:Java無法直接訪問底層操作系統,而是通過本地(native)方法來訪問。不過儘管如此,JVM還是開了一個後門,JDK中有一個類Unsafe,它提供了硬件級別的原子操作。CASCAS,Compare and Swap即比較並交
原创 線程之間通信之Notify,wait_注意使用if
間隔打印A,B:public class Print { private boolean nowIsA =true; synchronized void printA() throws InterruptedExceptio
原创 ReentrantLock源碼解讀
public class ReentrantLock implements Lock, java.io.Serializable { //ReentrantLock 有兩種鎖:公平鎖,非公平鎖 private final S
原创 HashMap源碼
public V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTable(threshold); } if (key == null)
原创 monggo 嵌套數組操作
{ "_id" : "201", "shopServiceCategorys" : [ { "shopServiceCategoryId" : NumberLong(4593138),
原创 ClassLoader類加載器
先看例子:public class ClassLoaderTest{ public static void main(String[] args) { ClassLoader cl = ClassLoaderTest
原创 空校驗
public void checkNull(final Object... args) throws ValidationException { for (Object arg : args) {
原创 裝飾者模式
裝飾模式:類似代理定義:動態給一個對象添加一些額外的職責,就象在牆上刷油漆.使用Decorator模式相比用生成子類方式達到功能的擴充顯得更爲靈活。設計初衷:通常可以使用繼承來實現功能的拓展,如果這些需要拓展的功能的種類很繁多,那麼勢必生成