原创 維護本地唯一標識

工作中用到了在本地記錄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