天天看點

「冰河技術」部分精華文章目錄彙總

1.高并發專題

高并發程式設計一直是程式員比較頭疼的事項,它不像那些簡單的業務程式設計,能夠快速定位到異常。往往在并發程式設計中,出現的異常都是比較詭異的,而且并不是每次都會複現。隻有掌握了并發程式設計更深層次的原理和源碼分析,才能更好的解決并發程式設計中出現的問題。

  • 高并發:如何安全的釋出對象(含各種單例代碼分析)
  • 高并發:線程與多線程
  • 高并發:線程的執行順序
  • 高并發:深入解析Callable接口
  • 高并發:兩種異步模型與深度解析Future接口
  • 高并發:SimpleDateFormat類的線程安全問題和解決方案
  • 高并發:不得不說的線程池與ThreadPoolExecutor類淺析
  • 高并發:P8級别架構師帶你深度解析線程池中那些重要的頂層接口和抽象類
  • 高并發:建立線程池居然有這麼多方式
  • 高并發:ThreadPoolExector類居然是這樣保證線程池正确運作的
  • 高并發:通過源碼深度分析線程池中Worker線程的執行流程
  • 高并發:從源碼角度深度解析線程池是如何實作優雅退出的
  • 高并發:ScheduledThreadPoolExecutor與Timer的差別和簡單示例
  • 高并發:深度解析ScheduledThreadPoolExecutor類的源代碼
  • 高并發:深度解析ScheduledFutureTask類源碼
  • 高并發:多線程的三大特性(原子性、可見性和有序性)
  • 高并發:淺談AQS中的CountDownLatch、Semaphore與CyclicBarrier
  • 高并發:淺談AQS中的Lock與Condition
  • 高并發:一個工作了7年的朋友去面試竟然被Thread類虐的體無完膚
  • 高并發:如何使用Java7中提供的Fork/Join架構實作高并發程式?
  • 高并發:要想學好并發程式設計,關鍵是要了解這三個核心問題
  • 高并發:工作了3年的程式員小菜面試高并發崗位被吊打虐哭
  • 高并發:導緻并發程式設計頻繁出問題的“幕後黑手”
  • 高并發:解密導緻詭異并發問題的第一個幕後黑手——可見性問題
  • 高并發:解密導緻并發問題的第二個幕後黑手——原子性問題
  • 高并發:解密導緻并發問題的第三個幕後黑手——有序性問題
  • 高并發:如何解決可見性和有序性問題?這次徹底懂了!
  • 高并發:一分鐘了解什麼是限流
  • 高并發:32位多核CPU并發讀寫long型資料為何會出現詭異問題?看完這篇我懂了!
  • 高并發:不可不說的幾種限流算法
  • 高并發:面試官問我ThreadPoolExecutor類的核心流程,我和他扯了半天!
  • 高并發:ThreadLocal學會了這些,你也能和面試官扯皮了!
  • 高并發:高并發秒殺系統架構解密,不是所有的秒殺都是秒殺!
  • 高并發:高并發環境下詭異的加鎖問題(你加的鎖未必安全)
  • 高并發:什麼是ForkJoin?看這一篇就夠了!
  • 高并發:優化加鎖方式時竟然死鎖了!!
  • 高并發:你知道嗎?大家都在使用Redisson實作分布式鎖了!!
  • 高并發:為何高并發系統中都要使用消息隊列?這次徹底懂了!
  • 高并發:在高并發環境下該如何建構應用級緩存?
  • 高并發:高并發環境下如何優化Tomcat性能?看完我懂了!
  • 高并發:不廢話,言簡意赅介紹BlockingQueue
  • 高并發:高并發場景下建立多少線程才合适?一條公式幫你搞定!!
  • 高并發:高并發場景下如何優化加鎖方式?看完這篇我确實明白了!!
  • 高并發:高并發分布式鎖架構解密,不是所有的鎖都是分布式鎖!!
  • 高并發:終于弄懂為什麼局部變量是線程安全的了!!
  • 高并發:信不信?以面向對象的思想是可以寫好高并發程式的!
  • 高并發:又一個朋友面試栽在了Thread類的stop()方法和interrupt()方法上!
  • 高并發:由InterruptedException異常引發的思考
  • 高并發:朋友問我學習高并發需不需要閱讀源碼,我是這樣分析的!!
  • 高并發:線程的生命周期其實沒有我們想象的那麼簡單!!
  • 高并發:你敢信??HashMap竟然幹掉了CPU!!
  • 專欄位址(持續更新中。。。)

2.設計模式

在軟體開發的曆程中,正是無數前輩們本着追求完美的架構設計和代碼設計的初心。經過無數前輩們的探索和努力,逐漸形成了一系列的設計原則和設計模式。在Java的常見的23種設計模式中,大體上可以分為建立型模式、結構型模式和行為型模式三大類。本文就對Java中的23種涉及模式進行彙總,友善記錄和查閱。

建立型模式:

  • 單例模式(Singleton)
  • 抽象工廠模式(AbstractFactoty)
  • 工廠方法(FactoryMethod)
  • 建造者模式(Builder)
  • 原型模式(Prototype)

結構型模式:

  • 擴充卡模式(Adapter)
  • 裝飾模式(Decorator)
  • 外觀模式(Facade)
  • 代理模式(proxy)
  • 橋接模式(Bridge)
  • 組合模式(Composite)
  • 享元模式(Flyweight)

行為模式:

  • 責任鍊模式(COR)
  • 指令模式(Command)
  • 解析器模式(Interpreter)
  • 疊代器模式(interator)
  • 中介者模式(Mediator)
  • 備忘錄模式(Memento)
  • 觀察者模式(Observer)
  • 狀态模式(State)
  • 政策模式(Strategy)
  • 模闆方法(TemplateMethod)
  • 通路者模式(Visitor)

3.Java8新特性

Java8中新增了大量的新特性。其中,最重要的新特性就是Lambda表達式和Stream API,除此之外,還有:函數式接口、方法引用與構造器引用、接口的預設方法和靜态方法、新時間和日期API、Optional等其他新特性。

  • Java8新特性:一張圖帶你領略Java8有哪些新特性
  • Java8新特性:Java8為什麼要引入Lambda表達式?原來如此!
  • Java8新特性:Lambda表達式基礎文法,都在這兒了!!
  • Java8新特性:Lambda表達式典型案例,你想要的的都在這兒了!!
  • Java8新特性:還沒搞懂函數式接口?趕快過來看看吧!
  • Java8新特性:知識點總結,你都會了嗎? 
  • Java8新特性:淺談方法引用和構造器引用
  • Java8新特性:關于Java8的Stream API,看這一篇就夠了!!
  • Java8新特性:面試官問我:Java8中建立Stream流有哪幾種方式?
  • Java8新特性:Stream API有哪些中間操作?看完你也可以吊打面試官!!
  • Java8新特性:面試官:談談Java8中的Stream API有哪些終止操作?
  • Java8新特性:關于并行流與串行流,你必須掌握這些!!
  • Java8新特性:不了解Optional類,履歷上别說你懂Java8!!
  • Java8新特性:接口中的預設方法和靜态方法,你都掌握了嗎?
  • Java8新特性:關于Java8中的日期時間API,你需要掌握這些!!
  • Java8新特性:不隻是Java8的注解,你想要的都在這兒了!!
  • 專欄位址(持續更新中。。。) 

4.Dubbo

業界公認的兩大牛逼的服務治理架構,一個是Dubbo,一個是SpringCloud,我們一起來看看阿裡開源的Dubbo為何如此牛逼。

  • Dubbo:改造低版本Dubbo,使其相容Spring4或Spring5注解配置
  • Dubbo:低版本Dubbo與高版本Spring內建
  • Dubbo:你知道如何将Dubbo服務打包成Jar檔案嗎?這篇文章幫你搞定!!
  • Dubbo:使用Shell腳本維護Dubbo服務
  • Dubbo:監控中心的介紹與簡易監控中心的安裝
  • Dubbo:Dubbo 管理控制台的安裝
  • Dubbo:如何實作Dubbo服務的叢集
  • Dubbo:分布式服務子系統的劃分
  • Dubbo:服務接口的設計原則
  • Dubbo:幾種負載均衡算法
  • Dubbo:線程模型(Linux 使用者線程數限制導緻的 java.lang.OutOfMemoryError)
  • Dubbo:你知道如何使用Dubbo消費端直連服務提供者進行開發和調試嗎??
  • Dubbo:服務隻訂閱(開發調試)
  • Dubbo:Dubbo Filter實戰

5.MyBatis源碼分析

MyBatis作為一個持久化架構,越來越多的被使用到實際的項目中。近年來,行業對于從業者對MyBatis的要求越來越高。而無論是在面試中,或者想進一步成為進階程式員或者架構師,都需要對MyBatis的源碼有一定的了解。

  • MyBatis源碼分析:建構源碼分析測試用例
  • MyBatis源碼分析:配置解析建立SqlSessionFactory的過程
  • MyBatis源碼分析:SqlSession會話建立過程
  • MyBatis源碼分析:獲得Mapper對象
  • MyBatis源碼分析:執行SQL語句的過程

6.Spring注解驅動開發

從使用到原理,再到底層源碼實作,深入分析講解Spring注解的原理和實作。

  • Spring:聊聊Spring注解驅動開發那些事兒!
  • Spring:使用@Configuration和@Bean向容器中注冊元件?看這一篇就夠了!!
  • Spring:使用@ComponentScan自動掃描元件并指定掃描規則
  • Spring:自定義TypeFilter指定@ComponentScan注解的過濾規則
  • Spring:使用@Scope注解設定元件的作用域
  • Spring:不知道什麼是懶加載?看這一篇就夠了!!
  • Spring:如何按照條件向Spring容器中注冊bean?這次我懂了!!
  • Spring:使用@Import注解給容器中快速導入一個元件