原创 多線程設計模式:第二篇 - 四種基礎模式
一,單線程模式 單線程模式是指在臨界區域內,同一時間內只允許一個線程執行處理。 下面的代碼示例使三個人頻繁的通過一道門,當經過門的時候記錄通行者的姓名和出生地,同時增加已通過門的人數。 /** * @a
原创 Java日誌處理
一,Java日誌組件1,日誌框架JUL(java.util.logging)Java 自帶的日誌框架,學習教程Log4j2 (Apache的開源日誌框架),學習教程Logback(Logback Project)Log4j 的繼承者,目前最
原创 多線程設計模式:第一篇 - Java線程基礎
一,線程基礎 1,基礎概念 一個線程就是運行在一個進程上下文中的一個邏輯流,而進程是程序執行的實例。系統中每個運行着的程序都運行在一個進程上下文環境中,進程上下文由程序正確運行所必須的狀態組成,包括程序代碼,數據,程序運行棧,寄存器
原创 spring-boot 中實現標準 redis 分佈式鎖
一,前言 redis 現在已經成爲系統緩存的必備組件,針對緩存讀取更新操作,通常我們希望當緩存過期之後能夠只有一個請求去更新緩存,其它請求依然使用舊的數據。這就需要用到鎖,因爲應用服務多數以集羣方式部署,因此這裏的鎖就必需要是分佈式鎖
原创 多線程設計模式:第六篇 - ThreadLocal和Active Object模式
一,ThreadLocal Java 中的 ThreadLocal 類給多線程編程提供了一種可以讓每個線程具有自己獨立空間的機制,在這個空間內存儲的數據是線程特有的,不對外共享。 ThreadLocal 類提
原创 多線程設計模式:第五篇 - Future模式和兩階段終止模式
一,Future模式 Future 的意思是未來,假設有一個方法需要花費很長的時間才能獲取運行結果,那麼與其一直等待,不如先拿到一份最終數據的模板,即 Future 角色,等過一陣子再通過 Future 角色去獲取數據,如果
原创 多線程設計模式:第四篇 - Thread-Per-Message模式和Worker-Thread模式
一,Thread-Per-Message模式 Thread-Per-Message模式是說爲每個請求都分配一個線程,由這個線程來執行處理。這裏包含兩個角色,請求的提交線程和請求的執行線程。 下面的示例代碼中,
原创 多線程設計模式:第四篇 - Thread-Per-Message模式和Worker-Thread模式
一,Thread-Per-Message模式 Thread-Per-Message模式是說爲每個請求都分配一個線程,由這個線程來執行處理。這裏包含兩個角色,請求的提交線程和請求的執行線程。 下面的示例代碼中,
原创 多線程設計模式:第三篇 - 生產者-消費者模式和讀寫鎖模式
一,生產者-消費者模式 生產者-消費者模式是比較常見的一種模式,當生產者和消費者都只有一個的時候,這種模式也被稱爲 Pipe模式,即管道模式。 生產者-消費者模式中通過 Channel 即通道來互相傳遞數據,
原创 多線程設計模式:第二篇
一,單線程模式 二,不可變模式 三,守護-等待模式 四,停止-返回模式
原创 多線程設計模式:第一篇
一,線程基礎
原创 Java Json 處理
一,Json處理組件 常見的 Json 處理組件有下面幾個:jackson 教程地址fastjson 教程地址google gson 教程地址 通過查看教程基礎使用,再結合簡單源碼學習,掌握起來不是什麼問題。1,常用 Json
原创 Java日誌系統
一,Java日誌組件1,日誌框架JUL(java.util.logging)Java 自帶的日誌框架,學習教程Log4j2 (Apache的開源日誌框架),學習教程Logback(Logback Project)Log4j 的繼承者,目前最
原创 SQL與NoSQL
一,關係數據庫(RDB) 關係型數據庫作爲傳統的數據庫,支持完整的ACID屬性,其中聲明式的SQL語法屏蔽了底層的實現細節,同時關係數據模型也符合人的正常思維邏輯,因此在各種應用中關係型數據庫都佔據主導位置。常見的RDB數據庫包括My