原创 Spring+MyBatis多數據源配置實現(AbstractRoutingDataSource)

在spring 中,一個很好用但是容易被忽略的,就是AbstractRoutingDataSource,它的一個作用就是可以根據用戶發起的不同請求去轉換不同的數據源,比如根據用戶的不同地區語言選擇不同的數據庫,下面舉例說明:  單數據

原创 Coroutine in Java - Quasar Fiber實現-優

轉自 https://segmentfault.com/a/1190000006079389?from=groupmessage&isappinstalled=0 說到協程(Coroutine),很多人會想到go,lua,erlang

原创 線程池之Future

線程池任務執行結果 這一節來探討下線程池中任務執行的結果以及如何阻塞線程、取消任務等等。 1 package info.imxylz.study.concurrency.future;2 3 public class SleepF

原创 規則引擎一:IBM規則引擎 ODM入門

轉自http://www.cnblogs.com/soul-tap/p/4956052.html IBM規則引擎(ODM)入門系列一(1):如何編寫規則項目 最近,因項目需要,研究使用IBM的規則引擎,但是網上相關資料甚少,只能查

原创 系統複雜設計實現

系統複雜設計實現 1 什麼是系統和系統架構 1.1 系統 1.2 系統架構 2 如何進行系統思維 2.1 確定系統的形式和功能 2.2 確定系統中各個實體以及他們的形式和功能 2.2.1 初步分類:不同種類的系統確定實體難易度不同

原创 Java併發包中的同步隊列SynchronousQueue在不用JDK版本中實現方式

介紹 Java 6的併發編程包中的SynchronousQueue是一個沒有數據緩衝的BlockingQueue,生產者線程對其的插入操作put必須等待消費者的移除操作take,反過來也一樣。 不像ArrayBlockingQueue或L

原创 JAVA線程間通信-優

線程通信的目標是使線程間能夠互相發送信號。另一方面,線程通信使線程能夠等待其他線程的信號。  例如,線程B可以等待線程A的一個信號,這個信號會通知線程B數據已經準備好了。本文將講解以下幾個JAVA線程間通信的主題: 1、通過共享對象通信

原创 組合模式

組合模式定義:組合模式允許你將對象組合成樹形結構來表現“整體/局部”層次結構,組合能讓客戶以一致的方式處理個別對象以及對象組合。 當涉及到如:菜單,子菜單之類的問題時,會自然而然的想到使用樹形結構 類之間的關係確如上圖所示,但是

原创 理解並設計rest/restful風格接口

網絡應用程序,分爲前端和後端兩個部分。當前的發展趨勢,就是前端設備層出不窮(手機、平板、桌面電腦、其他專用設備......)。 因此,必須有一種統一的機制,方便不同的前端設備與後端進行通信。這導致API構架的流行,甚至出現"API F

原创 分片(Sharding)的全局ID生成

轉自http://blog.csdn.net/hengyunabc/article/details/19025973 前言 數據在分片時,典型的是分庫分表,就有一個全局ID生成的問題。單純的生成全局ID並不是什麼難題,但是生成的ID

原创 spring mvc 使用jsr-303 @Valid實現bean的字段驗證

JSR-303 是JAVA EE 6 中的一項子規範,叫做Bean Validation,官方參考實現是Hibernate Validator。  此實現與Hibernate ORM 沒有任何關係。JSR 303 用於對Java Bea

原创 雙端隊列Deque

Queue除了前面介紹的實現外,還有一種雙向的Queue實現Deque。這種隊列允許在隊列頭和尾部進行入隊出隊操作,因此在功能上比Queue顯然要更復雜。下圖描述的是Deque的完整體系圖。需要說明的是LinkedList也已經加入了D

原创 初識Flume

一、flume簡介 Flume是Cloudera提供的日誌收集系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各種storage。Flume是一個分佈式、可靠、和高可用的

原创 利用redis + lua解決搶紅包高併發的問題

轉自 http://blog.csdn.net/hengyunabc/article/details/19433779/ 搶紅包的需求分析 搶紅包的場景有點像秒殺,但是要比秒殺簡單點。 因爲秒殺通常要和庫存相關。而搶紅包則可以允許有些紅

原创 AbstractQueuedSynchronizer/AQS 使用拓展分析-優

  java.util.concurrent.locks.AbstractQueuedSynchronizer是J.U.C裏最核心,也是最複雜的一個基礎的類,簡稱AQS。AbstractQueuedSynchronizer是CountDo