原创 統計文件夾或者大小 包含隱藏的文件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:存儲對