原创 維護本地唯一標識
工作中用到了在本地記錄agent唯一標識的需求,實現方式如下: public class AgentIdHelper { private static final Logger logger = LoggerFa
原创 集合的初始化
如何優雅的初始化集合? package com.google.guava; import com.google.common.collect.Lists; import com.google.common.collect.Map
原创 HDFS的javaAPI使用
工作中做資源服務器時用到了HDFS作爲資源底層存儲,記錄一下使用的API public class HdfsUtil { private static final Logger logger = LoggerFa
原创 形如1000_000的用法
java7新增的特性,可以使用_增強數字的可讀性,方式更優雅,簡單測試用例如下: @Test public void testNumberMoreZero() { // 數字中可以使用下劃線分割,增強可讀性 lon
原创 單元測試規範
雖然一直有寫單元測試case,但是對於其規範一直沒有系統熟悉,特做此記錄 /** * junit單元測試規範: * 1.目錄: * 必須在同級目錄,包全路徑名也相同 * src/ * main/package * te
原创 自定義異常
自定義異常不是一件很神祕的事情,看一下已有項目的源碼就會了,記錄如下: 首先,自定義異常的目的是爲了能夠更好的區分不同業務對應的異常原因; 再者,自定義異常通常繼承Exception或者RuntimeException,然後Ov
原创 Java中的Builder模式
日常開發中經常用到建造者設計模式,記錄一下簡單的構造形式 package com.google.builder; /** * @author : ♞Demons♛ * @date : 2020-01-04 17:21 *
原创 日期格式化
工作中遇到了形如(2019-11-08T02:18:21.516Z)的日期,需要對其做格式化操作獲取時間戳,記錄方法如下: @Test public void testTimestampAbstract() throws Exce
原创 Java中元組的使用
工作中看到了很多應用元組的場景,記錄幾個常用的元組工具類 二元組↓ public class Tuple2<K, V> { private K left; private V right; public Tuple
原创 log4j.xml
注:log4j的配置文件可直接命名爲log4j.xml,並放在resources目錄中,程序默認會讀取該配置文件 程序中引入方式: private static final Logger logger = LoggerFactor
原创 獲取本機ip和host的方法
public class AddressHelper { private static final Logger logger = LoggerFactory.getLogger(AddressHelper.cl
原创 cache緩存的使用
計算或檢索一個值的代價很高,並且對同樣的輸入需要不止一次獲取值的時候,就應當考慮使用緩存 package com.google.guava; import com.alibaba.fastjson.JSONObject; imp
原创 位運算
左移,右移 位運算 最近在用findbugs掃描代碼中的規範問題時,看到了位運算的用處,記錄一下 /** * 位運算 */ @Test public void testUnsignedOperateAverage() {
原创 調度線程池
工作中用到了線程池和調度線程相關的知識,記錄一下 @Test public void testThreadPool() throws InterruptedException { // 錯誤的創建線程池的方式 Sc
原创 讀寫鎖
工作中用到了讀寫鎖,記錄如下: 使用場景:多線程中某些代碼塊可以被多個線程同時讀,但是當某塊代碼執行寫操作時,被讀的代碼塊需要變得不可讀,直到寫操作完成 @Test public void testReadAndWriteLo