原创 HashMap,LinkedHashMap,TreeMap,HashTable,ConcurrentHashMap,ConcurrentSkipListMap 關於k,v是否爲null,以及輸出排序

HashMap:k,v可爲null,LinkedHashMap:k,v可爲null,TreeMap:v可爲null,HashTable:k,v都不可爲null,ConcurrentHashMap:k,v都不可爲null,Concurren

原创 深入理解JVM : Java堆中對象創建、佈局、訪問全過程

一、對象的創建 new Animal(); 1.類加載檢查: 檢查這個指令的參數是否能在常量池中定位到一個類的符號引用,並且檢查這個符號引用代表的類是否已被加載、解析和初始化過。如果沒有,那必須先執行相應的類的加載過程。 2.爲對象分配內

原创 Linux 1>/dev/null 2>&1的含義

Linux 1>/dev/null 2>&1的含義 shell中可能經常能看到:>/dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出 /dev/null 代表空設備文件 代表重定向到哪裏,例如:echo “123”

原创 linux的/dev/null 2>&1 &含義

在學習Linux的過程中,常會看到一些終端命令或者程序中有”>/dev/null 2>&1 “出現,由於已經遇到了好幾次了,爲了理解清楚,不妨花點時間百度或者google一下相關的知識。 0:表示鍵盤輸入(stdin) 1:表示標準輸出

原创 Git push與pull的默認行爲

git push 通常對於一個本地的新建分支,例如git checkout -b develop, 在develop分支commit了代碼之後,如果直接執行git push命令,develop分支將不會被push到遠程倉庫(但此時g

原创 接觸git,初學git命令記錄一下

git checkout branchName  ;切換到分支 git checkout –b  branchName ;創建新分支 git branch –d branchName ;刪除本地分支  git status ;查看當前狀態

原创 集合操作的ConcurrentModificationException異常分析,爲什麼有時候循環remove不會異常?Iterator方式也會異常嗎?

在我們代碼中,禁止在foreach遍歷list的時候直接使用list.remove()方法來刪除元素的,會ConcurrentModificationException。不同的集合使用不同的方式,ArrayList,Vector,Copy

原创 同步、異步、阻塞、非阻塞的理解

同步/異步主要針對C端: 同步: 所謂同步,就是在c端發出一個功能調用時,在沒有得到結果之前,該調用就不返回。也就是必須一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交請求->等待服務器處理-

原创 git stash 常用命令用法

當在一個分支的開發工作未完成,卻又要切換到另外一個分支進行開發的時候,除了commit原分支的代碼改動的方法外,我覺得git stash是一個更加便捷的選擇。 步驟如下: 一、添加改動到stash。一般情況下git stash 就直接存儲

原创 nginx 反向代理和正向代理區別

一直對反射代理的反向不知道如何理解,經過百度知道,再結合下面這幅圖,總算弄清楚一點了。簡單的說從一個局域網出來到服務端爲正向,從客戶端要進入一個局域網爲反向。 概念: 反向代理(Reverse Proxy)方式是指以代理服務器

原创 jenkins發佈項目到遠程主機上,配置兩臺linux如何使用SSH免密碼登錄

一、首先要配置兩臺linux如何使用SSH免密碼登錄,這樣腳本執行scp命令以及遠程執行腳本都不需要輸入密碼: A爲本地主機(即用於控制其他主機的機器,jenkins服務器) ; B爲遠程主機(即被控制的機器Server,

原创 git rebase原理

git rebase,顧名思義,就是重新定義(re)起點(base)的作用,即重新定義分支的版本庫狀態。要搞清楚這個東西,要先看看版本庫狀態切換的兩種情況: 我們知道,在某個分支上,我們可以通過git reset,實現將當前分支切換到本分

原创 Maven解決多個jar包引入了不同版本jar包

通過 mvn dependency:tree 查看 多個包引入的依賴; 在eclipse中直接選中包,右->maven exclude maven artifact 即可

原创 jenkins中通過execute shell啓動tocat無法啓動問題

以前使用Jenkins直接使用tomcat::redeploy方式,偶爾會PermGen space (Permanent Generation space,是指內存的永久保存區域) OutOfMemoryError;而且發佈時候需要更

原创 tomcat的acess_log打印post請求參數,分析日誌

有的時候服務器端接口允許請求的方式多樣化且不過定,沒有nginx的內網服務還需要統計分析post請求日誌 1) 在項目中加入相應的包和類,加載那裏無所謂,只要web.xml配置正確即可 package filters;  import j