原创 Java中的ReentrantLock和synchronized兩種鎖定機制的對比分析

多線程和併發性並不是什麼新內容,但是 Java 語言設計中的創新之一就是,它是第一個直接把跨平臺線程模型和正規的內存模型集成到語言中的主流語言。核心類庫包含一個 Thread 類,可以用它來構建、啓動和操縱線程,Java 語言包括了跨線

原创 排查線上死循環

一個應用佔用CPU很高,除了確實是計算密集型應用之外,通常原因都是出現了死循環。 (友情提示:本博文章歡迎轉載,但請註明出處:hankchen,http://www.blogjava.net/hankchen) 以我們最近出現的一個

原创 緩存學習

緩存學習 緩存學習 常見的緩存設計 第一種 第二種 第三種 緩存穿透 什麼是緩存穿透 如何避免緩存穿透 緩存雪崩 什麼是緩存雪崩 如何避免緩存雪崩 緩存數據清理策略 緩存算法 常見的緩存設計 第一種 讀操作

原创 責任鏈設計模式

轉載:http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html 責任鏈模式 顧名思義,責任鏈模式(Chain of Responsibil

原创 web服務如何調試https請求

web服務調試https請求 web服務調試https請求 背景 免費安裝https證書 fiddler設置 charles設置 nginx設置 背景 最近公司內部加大了安全力度,要求對於外網接口全部切換成https,之

原创 SkipList數據結構學習

1.跳錶是什麼: 跳錶是平衡樹的一種替代的數據結構,但是和紅黑樹不相同的是,跳錶對於樹的平衡的實現是基於一種隨機化的算法的,這樣也就是說跳錶的插入和刪除的工作是比較簡單 的。 2.爲什麼要使用跳錶: 目前經常使用的平衡數據結構有:B樹,紅

原创 jvm參數說明

1.-server  服務器端優化策略,注重吞吐量,而且代碼編譯時間較慢,不過編譯之後運行速度比較高 2.-client   客戶端優化策略,側重於提供更好的用戶體驗,垃圾回收機制停頓時間較短 3.-Xms     堆內存初始大小 4.-

原创 Java中實現Serializable接口爲什麼要聲明serialVersionUID?

實現序列化接口Serialize的時候,如果不指定serialVersionUID 的值,編譯時就會出現警告,爲什麼? 什麼情況下需要修改serialVersionUID 的值?       序列化運行時使用一個稱爲 serialVer