原创 將json格式的數組字符串轉換爲java集合

    /**      * 將json數字字符串轉化爲相應對象集合      * @param jsonArray json數組字符串     

原创 js實現簡易的貪喫蛇

<!DOCTYPE html> <html> <head lang="en">     <meta charset="UTF-8">     <ti

原创 二、多線程存在的問題和Java內存模型

多線程存在的問題 多線程運用得好可以大大提高系統的性能。但是使用不當也會對系統造成毀滅性災難。 線程安全問題。多個線程操作共享數據時,會產生線程安全問題。導致讀取髒數據或者丟失更新等問題 線程活性問題。由於程序問題導致一個線程一直處於非R

原创 八、併發工具類之CyclicBarrier

CyclicBarrier CyclicBarrier和CountDownLatch功能相似。CyclicBarrier是所有參與線程互相等待對方執行到某點,再一起執行後面程序。 與CountDownLatch一樣,CyclicBarri

原创 七、併發工具類之CountDownLatch

CountDownLatch 一個線程需要等到其他線程進行某操作時,可以使用CountDownLatch。 CountDownLatch構造方法,帶有一個int類型的參數。 public CountDownLatch(int count

原创 九、併發工具類之Semaphore

流量控制 Semaphore Semaphore是一個計數的信號量。初始化時分配一個配額permits。在訪問前需要用acquire()方法申請一個配額,訪問結束後調用release()釋放配置。申請配額時如果配額不足將會阻塞。 例子:有

原创 Caffeine使用指南

Caffeine使用指南 Caffeine基於java8的高性能,接近最優的緩存庫。Caffeine提供的內存緩存使用參考Google guava的API。Caffeine是基於Google guava和 ConcurrentLink

原创 fastjson反序列化帶有get沒有set的list字段,沒有值

反序列化帶有get方法的list字段 但是對於對象中帶有get方法的list字段,fastjson的處理: 通過get方法獲取list或map,如果是null不會處理。 以下帶來。com.alibaba.fastjson.parser.d

原创 fastjson自定義枚舉反序列化

自定義的枚舉類型反序列化 fastjson默認提供的對枚舉類型的反序列化的方式有兩種 根據枚舉的name 根據枚舉的ordinal值 但是如果需要通過自定義的值反序列化成枚舉,就需要自定義反序列化器。 如下面枚舉,我想通過EnumValu

原创 java線程池和Executor架構

爲什麼要使用線程池 線程的創建和銷燬會帶來系統的開銷。通過線程池進行線程的管理,可以進行線程的複用,避免線程頻繁的創建和消耗。 《java併發編程的藝術》 合理利用線程池能夠帶來三個好處 降低資源消耗。通過重複利用已創建的線程降低線程創

原创 Fork/Join框架簡介

Fork/Join框架簡介 fork/join是java7提供的任務並行執行的框架。fork就是將大任務分解成若干子任務,join就是將子任務的執行結果聚合成整個任務的結果。 Fork/Join框架通過兩個類實現 ForkJoinTask

原创 EventListenerSupport實現事件監聽

EventListenerSupport是apache lang3包提供用於處理事件監聽的解決方案。 pom <dependency> <groupId>org.apache.commons</grou

原创 ConcurrentHashMap源碼解析(jdk1.8)

jdk8的ConcurrentHashMap改動非常大。放棄了之前segment鎖,改用cas+synchronized來實現同步。 常量含義 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

原创 11、JUC之AQS中的CLH隊列

CLH隊列 AQS內部維護着一個FIFO的隊列,即CLH隊列。AQS的同步機制就是依靠CLH隊列實現的。CLH隊列是FIFO的雙端雙向隊列,實現公平鎖。線程通過AQS獲取鎖失敗,就會將線程封裝成一個Node節點,插入隊列尾。當有線程釋放鎖

原创 十、JUC之AQS

AQS即AbstractQueuedSynchronizer,是jdk提供的一個用於實現阻塞鎖和依賴於先進先出等待隊列的相關同步器(信號量,事件等)。AQS是concurrent包的基石。 AQS 狀態。 它依賴一個int類型的原子變量來