原创 Bigpipe學習筆記和java版實現

寫在開頭 --這篇bigpipe的筆記早在一年前就想寫了,但是一直被耽擱了。終於今天再翻看舊ppt時纔想起要補上這篇博客。 本文中關於bigpipe的介紹是根據網絡上的資料整理出來的(圖片均來源於網絡),而實現部分是本人的親身實踐。 1

原创 Solr AutoSoftCommit

什麼是SoftCommit? 請戳Solr Guide:Near Real Time Searching(NRT) https://cwiki.apache.org/confluence/display/solr/Near+Real+Ti

原创 Java HashMap多線程下爲什麼會死循環?

疫苗:Java HashMap的死循環,鏈接:http://coolshell.cn/articles/9606.html 原因:2個線程併發同時調用到resize方法,同時操作鏈表指針時出現了環路,導致之後get數據進入環路而死循環。

原创 Linux命令

修改IP地址 (1)# vi /etc/sysconfig/network-scripts/ifcfg-eth0 【永久的】 (2)# ifconfig eth0 192.168.0.20 netmask 255.255.255.0 【

原创 簡明 Vim 練級攻略

簡明 Vim 練級攻略,鏈接:http://coolshell.cn/articles/5426.html

原创 自行實現Solr重複分詞過濾器

最近在對搜索質量做優化,想解決一些文章通過重複關鍵詞的堆砌而導致搜索該關鍵詞排序很高的問題。比如搜索“遊戲”,結果一篇叫做“遊戲遊戲遊戲遊戲遊戲遊戲遊戲遊戲”的文章始終排在第一位。 體驗了一下百度貼吧,從高亮結果顯示可以看出貼吧是有對這種

原创 自旋鎖、排隊自旋鎖、MCS鎖、CLH鎖

原文地址:自旋鎖、排隊自旋鎖、MCS鎖、CLH鎖 轉載時注:文中的代碼忽略了lock和unlock不成對出現的異常情況以及遞歸重入的情況。另外JUC AQS(AbstractQueuedSynchron

原创 ConcurrentHashMap源碼分析

簡介 ConcurrentHashMap是HashMap更高效的線程安全版本的實現。不同於Hashtable簡單的將所有方法標記爲synchronized,它將內部數組分成多個Segment,每個Segment又是一個特殊的hash表,

原创 基於JDK動態代理和CGLIB動態代理到底有什麼區別?

轉自:基於JDK動態代理和CGLIB動態代理的實現Spring註解管理事務(@Trasactional)到底有什麼區別 摘要 結論: 基於JDK動態代理 ,可以將@Transactional放置在接口和具體類上。 基於CGLIB類代理,

原创 Java 理論與實踐: 處理 InterruptedException

Java 理論與實踐: 處理 InterruptedException 注:這裏僅轉了文章開頭部分內容,詳細內容請查看原網頁。 這樣的情景您也許並不陌生:您在編寫一個測試程序,程序需要暫停一段時間,於是調用Thread.sleep()

原创 HashMap源碼分析

轉自:HashMap源碼分析   需要提到的是,HashMap內部的容量設計爲2的冪,是爲了方便擴容和取餘運算,都只需要採用二進制位運算即可 1.擴容:newCapacity <<= 1; 2.取餘:當Length=2^n時,hash%L

原创 利用spring session解決共享Session問題

1.共享Session問題 HttpSession是通過Servlet容器創建和管理的,像Tomcat/Jetty都是保存在內存中的。而如果我們把web服務器搭建成分佈式的集羣,然後利用LVS或Nginx做負載均衡,那麼來自同一用戶的H

原创 How to get method parameter names?

如何獲取方法參數命名? 1.通過javassist獲取 /** * Get Method Parameter Names in JAVA * 參考:http://blog.hailinzeng.com/2014

原创 java熱加載技術hotswap

本文轉自阿里中間件團隊博客:hotswap 用戶手冊 內容摘要: 關於hotswap Hotswap(該補丁的網址http://ssw.jku.at/dcevm/) 是一個允許在運行狀態下無限制的修改加載類文件的Java虛擬機補丁。當前j

原创 sun.misc.Unsafe源代碼

Unsafe類提供了硬件級別的原子操作,Java無法直接訪問到操作系統底層(如系統硬件等),爲此Java使用native方法來擴展Java程序的功能。Java併發包(java.util.concurrent)中大量使用了Unsafe類提供