原创 Java Max Direct Memory Size設置

在上一篇Java Executor Service中我提到了我們的task因爲OutofMemoryError: Direct Buffer Memory被Java Executor Service意外中止。接下來就該研究爲什麼系

原创 Java Base64加密解密

有時候,對於某些信息我們需要簡單的加密解密,Base64是其中常用的一種加密解密方式。Java8中Base64的加密解密API放到了java.util裏面,在Java8之前我們只能使用第三方的API來實現Base64的加密解密,當

原创 Java Executor Service 使用要注意的一點

最近公司一個系統遇到了奇怪的問題,一個scheduled task在系統啓動後第二天就自動消失了,立馬讓我想起來前年在另外一個系統中使用hazelcast的時候也遇到了類似的問題(http://blog.csdn.net/clou

原创 集羣單節點任務Failover

在我們的某個舊集羣系統中,一直有個問題,一個希望單節點執行的任務在多節點都在運行,雖然由於該任務多次執行影響不大,只是CPU佔用時間有點多,我們還是希望可以把這個問題解決。簡單說下這個任務當前情況:在系統啓動的時候進入waitin

原创 Spring Profile基本使用

Spring profile是Spring 3引入的概念,一般系統開發的時候更喜歡使用Maven中的profile來進行不同環境配置文件的區分。Spring的profile一直沒有怎麼使用,最近在一個公司系統開發過程中同事使用了S

原创 談談計算機和程序語言

總有人和我說計算機真神祕,程序語言很難學,各種不懂。個人感覺其實如果不是去研究那些複雜的算法,基礎的程序語言還是很容易學習的。很多童鞋們在學習程序語言的時候沒有搞清楚來龍去脈,只是簡單死記語法,沒有站在計算機的全局角度來學習計算機語言。工

原创 Maven使用心得 -- 常用setting.xml和pom.xml配置

使用Maven一段時間了,整理了下,爲了可重用的未來 Parent Pom.xml  http://maven.apache.org/pom.html <project xmlns="http://maven.apache.org/PO

原创 RTC與Maven Release Plugin結合使用遇到的問題

在Maven的網站有關於如何使用Jazz scm plugin來實現自動release的文章(Jazz Release),我這裏不做囉嗦,主要說一下,按照這個使用後遇到的問題以及如何解決的。 文件結構問題,在我們的系統設計之初,在RTC

原创 Powermock and sonar jacoco的覆蓋率不兼容問題解決 3

上一篇介紹瞭如何讓surefire,failsafe和jacoco maven plugin如何結合配置,這一篇具體說說如何使用powermock的agent來解決覆蓋率不兼容問題。 首先在pom中加入powermock agent m

原创 Maven打包配置文件

通常我們會有多個系統環境,對應有不同的配置文件,通常在maven中我們打包只有jar, pom, maven-plugins, war and ear. 爲了可以同時打包不同環境的配置文件,我們選擇maven-assembly-plugi

原创 我的常用Eclipse Coding Style設置

使用Eclipse的時候通常對coding style有一定的要求,通常最主要的就是Java和xml文件中tab和空格,Java格式的一些約定俗成的東西,把自己的常用設置保存在github上面,留個備份:Workspace設置 Wi

原创 我的Java開發技術總結

做了Java已經多年,深深感覺軟件開發這門工程學發展迅速,各種技術層出不窮,現在Java系統開發比起10多年前容易不少。有太多太多的各種工具來幫助保證質量,幫助快速開發部署。程序員可以更多的關注在業務邏輯的代碼開發,而不是構建,部署。在不

原创 時間序列數據庫KDB 與Java結合使用介紹 -- 1 KDB Java代碼解讀

KDB是Kx System開發的時間序列數據庫,通常用於處理交易行情相關數據。具體介紹可以參考:https://en.wikipedia.org/wiki/Kdb%2B。 在我們的計價系統中使用kdb來存儲計價數據,由於KDB是基於Q語言

原创 時間序列數據庫KDB 與Java結合使用介紹 -- 2 基於KDB Java的寫入實現

這一篇說說一個簡單的寫入實現,首先創建對應的KDB Server Connection,這裏給出一個類似singleton的實現,加入了connection掛掉了重連的功能,沒有考慮短時間重連太多被封的可能性,原因是因爲我們的系統中由單一

原创 時間序列數據庫KDB 與Java結合使用介紹 -- 3 基於KDB JDBC的寫入實現

KDB源代碼裏面也提供了KDB基於JDBC的實現,其實KDB的JDBC實現就是基於KDB 的底層c.java實現的封裝,提供了面向JDBC的友好接口。不過我個人不傾向使用JDBC接口,很多功能並沒有實現,比如說最重要的Batch功能,所有