JAVA精通的話需要多少知識點需要你懂,只要懂得一下方面才能夠達到精通水平

1.  基礎    
    1.1  摩爾定律  
Sublimer
    1.2  多處理器時代
        1.2.1  對稱多處理( Symmetric Multi-Processor, a.k.a SMP)
        1.2.2  非對稱多處理( ASymmetric Multi-Processor, a.k.a ASMP)
        1.2.3  非統一內存訪問( a.k.a NUMA)

    1.3  共享內存(Shared Memory)

    1.4  CPU 緩存
        1.4.1  緩存一致性(Cache coherence)
        1.4.2  MESI協議(MESI protocol)

    1.5  線程
        1.5.1  起源(Source)
        1.5.2  優勢(Advantages)
        1.5.3  類型(Types)
        1.5.4  模型(Models)
        1.5.5  實現(Implementations)
        1.5.6  安全(Security)

    1.6  內存模型  (Memory Model)
        1.6.1  可見性(Visibility)
        1.6.2  原子性(Atomicity)
        1.6.3  順序性(Order)
    
    1.7  互斥( Mutual Exclusion)
        1.7.1  阻塞同步( Blocking Synchronization)
        1.7.1.1 臨界區(Critical Section)
        1.7.1.2  鎖(Lock)
            1.7.1.2.1  類型(Types)
            1.7.1.2.1.1  自旋鎖(Spinning Lock)
            1.7.1.2.1.2  標籤鎖(Ticket Lock)
            1.7.1.2.1.3  偏向鎖(Biased Lock)*
            1.7.1.2.2   數據庫鎖(Database Lock)*
                1.7.1.2.2.1   消極鎖
                1.7.1.2.2.2   樂觀鎖
            1.7.1.2.3  問題(Problems)
                1.7.1.2.3.1  活鎖(Live Lock)
                1.7.1.2.3.2  死鎖(Dead Lock)
                1.7.1.2.3.3  優先級倒置(Priority Inversion)
                1.7.1.2.3.4  其他(Others)            

        1.7.2 非阻塞同步(Non-Blocking Synchronization)
            1.7.2.1  Wait-free算法
                1.7.2.1.1  比較交換算法(Compare-And-Swap, a.k.a CAS)
                1.7.2.1.2  連接加載/條件存儲(Load-link/Store-conditional)
            1.7.2.1.3  ABA問題
            1.7.2.2  Lock-free
            1.7.2.3  Obstruction-free

        1.7.3  重進入(Reentrant)

        1.7.4  監視器(Monitor)
            1.7.4.1  等待和信號(Wait and Signal)
            1.7.4.2  條件變量(Condition Variable)

        1.7.5  信號燈(Semaphore)

        1.7.6  雙檢查鎖(Double-Checked Locking, a.k.a DCL)

    1.8  內存柵欄(Memory Barrier/Fence)

    1.9  一致性模型(Consistency Model)
        1.9.1  原子一致性( Atomic consistency)
        1.9.2  連續一致性(Sequential  Consistency)
        1.9.3  因果一致性(Causal Consistency)        
        1.9.4  釋放一致性(Release Consistency)        
        1.9.5  最終一致性(Eventual Consistency)
        1.9.6  Delta一致性(Delta Consistency)        
        1.9.7  弱一致性(Weak Consistency)        
        

    1.10  併發控制(Concurrency Control)
        1.10.1  軟件事務存儲(Software Transactional Memory,a.k.a STM)
                 
2.  Java 基礎
    2.1  Java同步原語
        2.1.1  synchronized關鍵字
        2.1.2  volatile 關鍵字
        2.1.3  CAS操作-AtomicX

    2.2  Java內存模型
        2.2.1  可見性(Visibility)
        2.2.2  原子性(Atomicity)
        2.2.3  順序性(Order)
        2.2.4  Happens-Before

    2.3  java.lang.Thread
        2.3.1  狀態(State)
        2.3.2  啓動-Thread.start方法
        2.3.3  棄用Thread.stop, Thread.suspend 和 Thread.resume方法
        2.3.4  終止Thread.interrupt和Thread.interrupted方法
        2.3.5  Thread.join方法
        2.3.6  Object.wait/notify方法
        2.3.7  Thread.wait方法


3.  Java併發框架
    3.1J.U.C框架
        3.1.1  同步
            3.1.1.1  核心-AbstractQueuedSynchronizer
            3.1.1.2  重進入鎖-ReentrantLock
            3.1.1.3  重進入讀寫鎖-ReentrantReadWriteLock
            3.1.1.4  條件變量-Condition
            3.1.1.5  新通知/信號機制-LockSupport

        3.1.2  限制
            3.1.2.1  CountDownLatch
            3.1.2.2  CyclicBarrier
            3.1.2.3  信號燈(Semaphore)

        3.1.3  原子操作  
                  3.1.3.1  Atomic*類
                  3.1.3.2  操作實現-sun.misc.Unsafe

        3.1.4  線程安全集合
                  3.1.4.1  CopyOnWriteArrayList和CopyOnWriteArraySet
                  3.1.4.2  ConcurrentSkipListMap和ConcurrentSkipListSet
                  3.1.4.3  ConcurrentHashMap
                  3.1.4.4  ArrayBlockingQueue
                  3.1.4.5  LinkedBlockingQueue和ArrayBlockingDueue
                  3.1.4.5  PriorityBlockingQueue    

        3.1.5  線程池
                  3.1.5.1  Executor
                  3.1.5.2  ThreadPoolExecutor
                  3.1.5.3  Callable和Future
                  3.1.5.4  ScheduledExecutorService
                  3.1.5.5  Executors

4. JVM併發實現 **
    4.1  線程(Thread)實現
    4.2  監視器(Monitor)實現
    4.3  可見性實現
    4.4  原子性實現
    4.5  順序性實現
    4.6  其他

 

說明:

    1. 在標題後面帶有符號“*”,代表這個內容可能有點於偏離主題。帶有“**”的內容,可能比較難以理解。

   2. 由於知識體系比較繁雜,組織起來比較寬難,因此目錄結構很有可能不斷地更新。該文章的Update部分或者標題也會同步更新。

    3.一旦章節的內容完結,目錄會即時更新鏈接,請大家留意。

 

    4.作者能力和學識有限,如果讀者還有更加感興趣的議題,或者任何錯誤、意見和建議,不妨直接留言或者發郵件來討論。如果能夠合著的話,那是更加完美了。

    5.文章轉載前,請聯繫文章的作者。

 

 

謝謝 ,EOF!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章