原创 jedis客戶端網絡故障期間redis發生master-slave切換問題

客戶端控制檯一直報一下異常: redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only slave. 從

原创 從字節碼來說明i++與++i到底有什麼不同

看字節碼之前需要先了解相關概念,如棧幀、操作數棧、局部變量表。 棧幀是JVM中很重要的一個概念,因爲JVM是基於棧的架構。一個方法的調用其實就是棧幀入棧出棧的過程。棧頂棧幀就是當前方法調用。 一個棧幀中包含: 局部變量表 操作數棧 動態鏈

原创 Docker 隨記

關於volume: Dockerfile中的Volume 模式是掛載到匿名目錄,與docker run -v 主機目錄:容器目錄不同 docker-compose volumes 同docker run -v 關於容器通信 通過docker

原创 深入開源框架底層之ASM

什麼是 ASM ? ASM 是一個 Java 字節碼操控框架。它能被用來動態生成類或者增強既有類的功能。ASM 可以直接產生二進制 class 文件,也可以在類被加載入 Java 虛擬機之前動態改變類行爲。Java class 被存儲在嚴格

原创 AbstractQueuedSynchronizer 隨記

常見誤區:Lock(樂觀鎖,自旋鎖)一定比Synchronized好。這個說法是不正確的。自旋鎖適合鎖競爭不是很激烈的情況下使用,因爲其使用了死循環,比較消耗CPU資源。Synchronized在JDK1.5後進行了優化,通過鎖升級(偏向鎖

原创 無法清空大文件

linux 清空一個大文件(上G的)一般有這麼幾種方法: cat /dev/null > nohup.log cp /dev/null > nohup.log echo "" > nohup.log 但是今天在嘗試這幾個命令的時候發現

原创 區塊鏈、比特幣學習筆記

學習區塊鏈、比特幣需要先搞明白hash、非對稱加密、BASE64/58。 比特幣中一個重要的概念就是UTXO(未花費輸出),你有多少個比特幣就是根據這個得來的。 挖礦得來的比特幣稱爲coinbase,這個也是會產生一筆交易的,但是這個交易沒

原创 mongodb13億數據清理記錄

mongodb上一個collection數據已經膨脹到13億,也就最近一兩個月的數據重要一點。於是考慮清除一下這個collection。 於是: 第一步: 先將原表備份 db.test.renameCollection("test_bak"

原创 各種加密方式的問題

對稱加密最大的問題就是密鑰的傳輸問題。 於是乎出現了非對稱加密。公鑰完全公開,誰都可以使用。 非對稱加密最大的問題就是身份確認的問題。 怎麼能確認是不是正確的人使用公鑰加密的信息呢。 於是乎出現了數字簽名,使用對方公鑰的人,用自己的私鑰簽名

原创 mongodb 備份數據

備份[部分]數據爲dump,然後從collection中將已備份數據刪除。 ./mongodump -d trans -c test -h 192.168.190.128 -u trans -p 123456 -o /data/backu