原创 日語時間的表達方式

點贊 收藏 分享 文章舉報 qq872068101 發佈了49 篇原創文章 · 獲贊 13 · 訪問量 1萬+ 私信 關

原创 MapConstruct 總結

1. 當需要轉換List<A>至List<B>時,請先定義A至B轉換的接口。在編譯後MapConstruct生成的實現類中會利用dto2Po()來實現dto2poList()。 List<BizTaskPO> dto2PoList(Li

原创 調度中心 架構設計 (Java版本)

  一. 背景              我目前所在的公司一直在打造企業級服務中臺,孵化出了數十種不同功能的子產品,這些產品中存在着大量的定時執行的任務,它們隱藏在程序內部,一般由各自所屬的產品管理,往往使用Spring Schedule

原创 Java多線程之等待隊列DelayQueue

一. 概念             DelayQueue被稱作"等待隊列"或"JDK延遲隊列",存放着實現了Delayed接口的對象。對象需要設置到期時間,當且僅當對象到期,才能夠從隊列中被取走(並非一定被取走)。DelayQueue的內

原创 Java多線程之Exchanger

一. 概念          Exchanger能在兩個線程驅動的任務之間交換對象。交換之前,A任務持有D1對象,B任務持有D2對象。交換之後,A任務持有D2對象,B任務持有D1對象。         Exchanger可以使用的場景: 

原创 Spring中@Configuration配置類(用Dubbo舉例)在初始化@bean時,使用來自Disconf的動態配置

一. 背景 本文介紹了我在爲Spring集成其它配置類(本文展示的是Dubbo)時,使用來自Disconf的動態配置的方法,以及我對項目配置在項目中結構的設計。Disconf相關的配置在上一篇文章的基礎上進行了補充。ps: 目前只寫了大綱

原创 性能調優

1. 在對併發代碼進行調優時,可以嘗試Synchronized,ReentrantLock以及Atomic類,儘量的減少互斥方法的方法體的大小——只互斥那些必須互斥的部分。(在實際開發時,被互斥的部分花費的時間的百分比可能會明顯大於進入或

原创 Java中UUID的使用

一. UUID的概念           UUID是由機器藉助設備的網卡地址、時間戳、命名空間、隨機數或僞隨機數以及時序,經過一系列算法運算,從而得到的一串字符串。雖然在特定的範圍內重複的可能性極小,但並不意味着UUID一定不會重複,重複

原创 Java volatile關鍵字

volatile是一個Java關鍵字,被其修飾的對象可以獲得(簡單的賦值與返回操作)的原子性和可見性(可視性)。 1. 原子性是什麼?爲什麼可以獲得原子性? 答: 原子性一般針對於原子操作而言,這是一種不能被線程調用機制中斷的操作,一旦操

原创 Java多線程之Semaphore

一. 概念       書上將Semaphore描述成"允許n個任務同時訪問同一個資源",我個人覺得這個表述並不準確。Semaphore更像是一個限流裝置,管理着有限數量的資源(這一步需要我們自行通過代碼完成),每個資源都配有使用許可證,

原创 Spring集成Disconf 實現配置動態獲取 (配置類方式實現)

一. 背景 最近在重構自己負責產品的腳手架,本文介紹了我在Spring中集成Disconf客戶端並實現配置動態獲取的做法。 二. 配置 2.1 maven <dependency> <groupId>com.baidu.di

原创 Java多線程之CyclicBarrier

一. CyclicBarrier使用的場景           現在需要並行的執行一組任務,每一個任務都需要分階段完成,並且任務不能搶先執行,當在某個階段完成的時間過早時,需要等待其它任務全部完成這個階段的工作後,才能一起向下一個階段躍進

原创 基本排序和查找算法

一. 冒泡排序 1. 目標: 從左至右,由小到大排序 2. 思想:  大數上浮,小數下沉。每一輪都確定本輪最大的數,總共需要length-1輪(畢竟最後一輪只剩下1個數,沒必要排序了)。 3. 代碼: public class Test