原创 統計文件夾或者大小 包含隱藏的文件linux

du -sh .[!.]* * | sort -hr 統計文件夾或者大小 包含隱藏的文件

原创 如何破壞單例

首先提供一個雙重加鎖的單例模式 public class CheckSingleton{ private CheckSingleton(){}; private volatile static CheckSin

原创 Arrays.asList()的代替用法

衆所周知  Arrays.asList(T... a): 該方法返回定長的 List,不支持 add 和 remove 操作 該方法返回的 List 與傳入數組是映射關係(視圖):set/get 操作直接作用於數組;直接修改數組,lis

原创 Optional的代替用法

  User user = userService.getUserbyId(0); Optional<User> op = Optional.ofNullable(user); op.ifPresent(o -> o.setUserNam

原创 jvm排查線上gc問題步驟

1. 清楚從程序角度,有哪些原因導致FGC?  大對象:系統一次性加載了過多數據到內存中(比如SQL查詢未做分頁),導致大對象進入了老年代。 內存泄漏:頻繁創建了大量對象,但是無法被回收(比如IO對象使用完後未調用close方法釋放

原创 java8常用的steam函數

    filter filter 方法用於通過設置的條件過濾出元素。以下代碼片段使用 filter 方法過濾掉空字符串: List<String> strings = Arrays.asList("Hollis", "", "Holl

原创 switch和if,儘可能使用switch

switch 的判斷條件是 5 個時,性能比 if 高出了約 2.3 倍,而當判斷條件的數量越多時,他們的性能相差就越大。   如果爲1 2 3 4 5 6 7 8這種緊湊行case條件時,底部使用tableswitch 如果爲3 6

原创 atomic包下的類及其用途

AtomicBoolean  可以自動更新的{@code boolean}值 AtomicInteger  可以自動更新的{@code int}值 AtomicIntegerArray  一個{@code int}數組,其中的元素可以自動

原创 使用docker獲取文件操作權限

此操作有風險,建議有把握的情況下在做嘗試。 新建docker容器,指定想要操作的文件目錄。 docker run -dit --name test-v /data:/tmp/ test 進入docker容器: docker exec

原创 Apache工具ab壓測簡介

一、安裝 Linux下可以直接安裝Apache工具即可(朵拉使用centOS)。 yum install -y httpd-tools 二、使用 舉個栗子: ab -n 200000 -c 10000 "https://www.tapd.

原创 使用TiDB之前請先了解它

最近公司遷移機器,之前用的mycat做mysql的分庫分表操作,由於之前不間斷的遇到過一些問題,決定把遷移到TiDB,所以遷移之前,來了解一下TiDB 一、簡介: TiDB 是 PingCAP 公司設計的開源分佈式 HTAP (Hybri

原创 redis性能分析

  慢sql查詢 slowlog get 10 monitor查看實時連接的redis命令

原创 redis隊列使用

簡單業務使用,複雜請轉移kafka,rabbitmq,rocketmq等隊列中間件。 #酌情選擇是否用多線程消費,python的多線程一般。 import threading import time import redis impor

原创 git最簡單回滾並推送到遠程

1. 代碼回退 首先你要用git reflog查看你要回到的那個版本,   然後用 git reset --hard HEAD        回退到上個版本 git reset --hard commit_id    退到/進到 指定

原创 Redis日常使用

redis有很多數據結構 string list hash set sorted set(zset) HyperLogLog bitmap geo 下邊就日常工作中中使用情況,介紹一下其各種數據結構主要應用場景。 String:存儲對