原创 Redisson的CountDownLatch實現對比 VS Java的CountDownLat

JDK的CountDownLatch的設計思路和鎖類似,Java實現CountDownLatch的時候也利用了一個叫做AQS的東西,源碼參照java.util.concurrent.locks.AbstractQueuedSynchroni

原创 Sentinel 與 Hystrix、resilience4j 的對比

具體如下:SentinelHystrixresilience4j隔離策略信號量隔離(併發線程數限流)線程池隔離/信號量隔離信號量隔離熔斷降級策略基於響應時間、異常比率、異常數基於異常比率基於異常比率、響應時間實時統計實現滑動窗口(LeapA

原创 大家都懂的 JSON 解析器原理(一)簡介 & 低配版入門

沒學過編譯原理,做一個 JSON 解析器難嗎?——難!是不是就不能“迎難而上”呢?——不是!越是難的越是一個挑戰!——筆者這裏嘗試通過通俗易懂的行文爲大家介紹一下 JSON 解析器,——那一串串長長的 JSON 文本到底是如何被解析成爲 J

原创 predixy一款高性能全功能redis代理

介紹redis作爲一款優秀的NoSQL代表軟件,正變得越來越流行,雖然Redis很容易就可以啓動並使用,但是要想在線上用好它卻也並非易事。redis的高可用和可擴展無論是自帶的Redis Sentinel還是Redis Cluster都要求

原创 最官方的 mysql explain type 字段解讀

我把官方的手冊簡單翻譯了下,好多地方也還是不懂,網友補充,配合了官方的實例代碼 更多請更多的參考 https://dev.mysql.com/doc/refman/5.6/en/explain-output.html#explain-joi

原创 redis擊穿,穿透,雪崩以及解決方案

1 擊穿: 指的是單個key在緩存中查不到,去數據庫查詢,這樣如果數據量不大或者併發不大的話是沒有什麼問題的。 如果數據庫數據量大並且是高併發的情況下那麼就可能會造成數據庫壓力過大而崩潰 注意: 這裏指的是單個key發生高併發!!! 解決方

原创 5 分鐘搞懂布隆過濾器,億級數據過濾算法你值得擁有!

在程序的世界中,布隆過濾器是程序員的一把利器,利用它可以快速地解決項目中一些比較棘手的問題。如網頁 URL 去重、垃圾郵件識別、大集合中重複元素的判斷和緩存穿透等問題。布隆過濾器(Bloom Filter)是 1970 年由布隆提出的。它實

原创 Keepalived LVS 雙機高可用負載均衡架構

實驗環境:主機 IPLVS-1 1.1.1.101LVS-2 1.1.1.102Nginx-1 1.1.1.103Nginx-1 1.1.1.104VIP 1.1.1.100在這裏插入圖片描述 Keepalived - LVS 實

原创 TCP 擁塞控制算法簡介

最近花了些時間在學習TCP/IP協議上,首要原因是由於本人長期以來對TCP/IP的認識就只限於三次握手四次分手上,所以希望深入瞭解一下。再者,TCP/IP和Linux系統層級的很多設計都可以用於中間件系統架構上,比如說TCP 擁塞控制算法也

原创 高頻訪問IP限制 --Openresty(nginx + lua) [反爬蟲之旅]

嗯….本人是從寫爬蟲開始編程的,不過後面做web寫網站去了,好了,最近web要搞反爬蟲了,哈哈哈,總算有機會把之以前做爬蟲時候見識過的反爬一點點給現在的網站用上了~ 做爬蟲的同志,有怪莫怪嘍~還有求別打死 > < 首先要提一下AJAX,現在

原创 一起學習Mysql索引三(ICP,索引條件下推)

上一篇文章一起學習Mysql索引二(索引的高性能策略)中我們提到了Mysql5.7版本的一個改進: "索引條件下推"(index condition pushdown)。 那麼,今天就讓我們來揭開它的神祕面紗。 從ICP(index con

原创 Java線程池架構2-多線程調度器(ScheduledThreadPoolExecutor)

在前面介紹了java的多線程的基本原理信息:《Java線程池架構原理和源碼解析(ThreadPoolExecutor)》,本文對這個java本身的線程池的調度器做一個簡單擴展,如果還沒讀過上一篇文章,建議讀一下,因爲這是調度器的核心組件部分

原创 從Java視角理解系統結構(一)CPU上下文切換

在高性能編程時,經常接觸到多線程. 起初我們的理解是, 多個線程並行地執行總比單個線程要快, 就像多個人一起幹活總比一個人幹要快. 然而實際情況是, 多線程之間需要競爭IO設備, 或者競爭鎖資源,導致往往執行速度還不如單個線程. 在這裏有一

原创 idea快捷鍵

Alt+回車 導入包,自動修正Ctrl+N   查找類Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代碼Ctrl+Alt+O 優化導入的類和包Alt+Insert 生成代碼(如get,set方法,構造函數等)Ctrl+E或

原创 我的友情鏈接

熔 巖