原创 shell腳本運行方式和對環境變量的影響

test2.sh: export var1=”hello”; 腳本一 test1-1.sh : source test2.sh echo ${var1} 腳本二 test1-2.sh: sh test2.sh echo

原创 反向代理爲何叫反向

大家都知道代理一般分爲正向代理和反向代理,但爲何有這種叫法的區別呢,下圖比較形象的說明: 如圖,代理一般用於跨網之間的訪問,例如內網的客戶端需要訪問外網時通過一個代理server將需要的外網資源通過代理服務器取回,這種場景下,代

原创 事務存儲結構的實現

原文地址:http://www.opengpu.org/forum.php?mod=viewthread&tid=138 事務存儲結構的實現 (Transectional Memory) 張鐸  唐玉華  所光 (國防科學技

原创 linux shell腳本之 shift (n)命令

linux shell腳本中 shift(shift 1) 命令每執行一次,入參變量個數($#)減一,而且遵循FIFO的原則,即shift之前的1變量被銷毀,shift之後的 2就變成了$1,變量值提前一位。 shift n後,

原创 linux shell腳本 && 和 ||及變量說明

一、&& 和|| 在shell腳本中用於命令執行控制的功能。 例如:當下一個執行的命令依賴於上一個命令執行的結果時,可以通過&&和||實現。 語法格式: command1 && command2 [&& command3 …]

原创 jetty 源碼編譯

1、git上拉代碼:https://github.com/zhongxiankui/jetty.project.git 2、cd到代碼目錄jetty.project,mvn install,期間會碰到諸如: [ERROR] Faile

原创 maven項目web配置文件多環境配置

web.xml配置 <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-clas

原创 mysql使用記錄

1、mysql並沒有提供直接的方法來實現批量更新,但是有點小技巧: http://www.jb51.net/article/41852.htm 點贊 收藏 分享 文章舉報 zx

原创 HashMap在非線程安全下的死循環

衆所周知,HashMap是非線程安全的,需要線程安全一般選擇ConcurrentHashMap或者Hashtable,但是往往常識性的東西容易出問題,比如最近有個同事在線上就碰到這個問題,以前也知道HashMap的這問題,但是最近

原创 SSL四次握手

SSL類似於TCP的三次握手,在HTTP鏈接建立之前進行四次握手,從而客戶度和服務端溝通好HTTP傳輸時對稱加密的密鑰,大致過程如下圖: 1、客戶端請求建立SSL鏈接,並向服務端發送一個隨機數–Client random和客戶端

原创 Java代碼質量檢測工具記錄

原文:http://zihai367.iteye.com/blog/2305793 1. PMD from http://pmd.sourceforge.net/       PMD能夠掃描Java 源代碼,查找類似以下的潛在問題:  

原创 java虛假喚醒

虛假喚醒就是一些obj.wait()會在除了obj.notify()和obj.notifyAll()的其他情況被喚醒,而此時是不應該喚醒的 解決方法: pthread_cond_wait的通常使用方法: pthread_mutex_l

原创 C4 垃圾回收

基於java垃圾回收機制的系統中,在某些場景下,需要儘量加下gc的時間,通常會選擇CMS垃圾回收器,其執行過程大致如下: 此外還有其他的類似功能的垃圾回收器,如C4垃圾回收器:Concurrent Continuously Com

原创 從線程狀態看樂觀鎖和悲觀鎖

1-1、衆所周知線程有幾種主要的狀態即:新建、就緒、運行、阻塞、死亡狀態。 2-1、悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數據的時候都認爲別人會修改,所以每次在拿數據的時候都會上鎖,這樣其他線程想

原创 GC root

說到java的垃圾回收,避不開GC root就是GC(Garbage Collector) roots,垃圾收集器(Garbage Collector)的對象,GC時會收集那些不是GC roots並且沒有被GC roots引用的對象。 一