原创 vim總結

當你意識到你不得不學習的時候,心中的那種躁動的心情,又有誰會體會到呢? 比如:當同事vim 用的很溜的時候,在他看來,這些基本的操作,是從事linux 開發必須具備的技能,是不需要別人來指導的。 其實知識最怕的不是你不斷的去學,而是你不停

原创 爲什麼要用到泛型類、泛型方法

 從開發第一個系統,一直在使用泛型。那麼爲什麼要使用泛型呢?或者說泛型有什麼好處。    先來看官方的的解釋:          泛型類和泛型方法同時具備可重用性、類型安全和效率,這是非泛型類和非泛型方法無法具備的。 泛型通常

原创 交換兩個數不用變量怎麼交換

  如果要交換兩個變量的值,我們首先想到的就是定義一個第三方變量暫存其中一個變量的值:                    如果我們不使用第三方變量怎麼交換兩個變量的值呢?          1.利用兩數之和減去另一個數的方式:    

原创 枚舉單例 最安全的單例,可以有效防止反射,序列化

  單例的枚舉實現在《Effective Java》中有提到,因爲其功能完整、使用簡潔、無償地提供了序列化機制、在面對複雜的序列化或者反射攻擊時仍然可以絕對防止多次實例化等優點,單元素的枚舉類型被作者認爲是實現Singleton的最佳方法

原创 git 專欄

git的服務器端(remote)端包含多個repository,每個repository可以理解爲一個項目。而每個repository下有多個branch。"origin"就是指向某一個repository的指針。服務器端的"master

原创 Java中泛型 類型擦除

   參照這篇文章,講得非常棒https://segmentfault.com/a/1190000005179142 Java 泛型(Generic)的引入加強了參數類型的安全性,減少了類型的轉換,但有一點需要注意:Java 的泛

原创 jvm-常量池

 Java中的常量池,實際上分爲兩種形態:靜態常量池和運行時常量池。      所謂靜態常量池,即*.class文件中的常量池,class文件中的常量池不僅僅包含字符串(數字)字面量,還包含類、方法的信息,佔用class文件絕大

原创 shell特殊符號的含義以及用法

Shell中的特殊字符有 1、$ 美元符  2、\ 反斜槓  3、` 反引號  4、" 雙引號  5、< ,>;,*,?,[,] 下面我一一舉列說明 一、$符號 1、echo $? 顯示的是上一條指令退出狀態  2、echo "$?" 效

原创 Java類加載器總結

1.類的加載過程   JVM將類加載過程分爲三個步驟:裝載(Load),鏈接(Link)和初始化(Initialize)鏈接又分爲三個步驟,如下圖所示: 1) 裝載:查找並加載類的二進制數據; 2)鏈接: 驗證:確保被加載

原创 關於0x80000000爲什麼等於-2147483648和負數在內存上儲存的問題

1·先說明負數怎麼儲存 (1)十進制負數是以其補碼儲存在內存上。 驗證:求-8在內存上以二進制形式1的個數 思路是:拿變量,令值爲1,與-8的二進制碼的每一位做與運算,若與運算結果爲1,則該位爲1。 代碼: [cpp] v

原创 Java集合類相關面試題

1、Collection和Collections的差別 java.util.Collection 是一個集合接口,Collection接口在Java類庫中有非常多詳細的實現。比如List、Set java.util.Collecti

原创 java的HashMap類提供的方法

void clear() Removes all of the mappings from this map. Object clone() Returns a shallow copy of this HashMap inst

原创 echo -e 命令詳解

echo(選項)(參數)選項 -e:激活轉義字符。使用-e選項時,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出: •\a 發出警告聲; •\b 刪除前一個字符; •\c 最後不加上換行符號; •\f 換行但光標仍舊停

原创 求有環單鏈表中的環長、環起點、鏈表長

1.判斷單鏈表是否有環   使用兩個slow, fast指針從頭開始掃描鏈表。指針slow 每次走1步,指針fast每次走2步。如果存在環,則指針slow、fast會相遇;如果不存在環,指針fast遇到NULL退出。   就是所謂的

原创 linux 下shell中if的“-e,-d,-f”是什麼意思

文件表達式 -e filename 如果 filename存在,則爲真 -d filename 如果 filename爲目錄,則爲真  -f filename 如果 filename爲常規文件,則爲真 -L filename 如果 fil