原创 linux下jdk安裝卸載

查看現有jdk rpm -qa | grep java 刪除上述所有java文件 例子: rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64 查看jdk

原创 強虛軟弱引用

強引用(StrongReference)   強引用是使用最普遍的引用。如果一個對象具有強引用,那垃圾回收器絕不會回收它。當內存空間不足,Java虛擬機寧願拋出OutOfMemoryError錯誤,使程序異常終止,也不會靠隨意回收具有強引

原创 raft算法動態展示

http://thesecretlivesofdata.com/raft/

原创 sleep(0),sleep以及yeid 的區別

Thread.Sleep(0) Sleep 的意思是告訴操作系統自己要休息 n 毫秒,這段時間就讓給另一個就緒的線程吧。當 n=0 的時候,意思是要放棄自己剩下的時間片,但是仍然是就緒狀態,其實意思和 Yield 有點類似。但是 Sle

原创 打印瑞年和打印質數

public static void printRui(int k){ for (int i = 1; i <=k ; i++) { if ((i%4==0&&i%100!=0)||i%400==0){

原创 經典攔截器模式

https://www.jianshu.com/p/b82d0a95b2f3

原创 二叉樹前序 中序 後序 層序 概念

前序遍歷:就是從二叉樹的根結點出發,當第一次到達結點時就輸出結點數據,按照先向左在向右的方向訪問 ABDHIEJCFG 根節點在第一位 中序遍歷就是從二叉樹的根結點出發,當第二次到達結點時就輸出結點數據,按照先向左在向右的方向訪問 HD

原创 二叉樹遞歸 詳解

public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; publ

原创 斐波那契數列在楊輝三角中的運用

  public static void fun(int n){ int [][] a = new int[n+1][n+1]; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ if(j==1|

原创 Java Socket網絡編程常見異常(轉)

  1.java.net.SocketTimeoutException 這個異常比較常見,socket超時。一般有2個地方會拋出這個,一個是connect的時候,這個超時參數由connect(SocketAddress endpoint,

原创 Nginx 負載均衡原理簡介與負載均衡配置詳解

測試環境 nginx-1.10.0 負載均衡原理 客戶端向反向代理髮送請求,接着反向代理根據某種負載機制轉發請求至目標服務器(這些服務器都運行着相同的應用),並把獲得的內容返回給客戶端,期中,代理請求可能根據配置被髮往不同的服務器。  

原创 線程池主要信息解析

  ThreadPoolExecutor是一個通過使用可能幾個池線程之一來執行每個提交任務的ExecutorService,這些線程池通常通過Executors工廠方法進行配置。         ThreadPoolExecutor中的線

原创 log4j日誌組合

commons-logging apache最初的日誌門面,目的是在開發組件時不強依賴日誌實現,給調用者以選擇。 jcl-over-slf4j slf4j開發的爲了兼容前者的適配,裏面的內容和前者基本一致,引用時和前者互斥。 slf4j-

原创 簡單工廠 工廠方法 抽象工廠模式

簡單工廠:由工廠產生實現同一接口的對象 只有一個工廠:對一類對象抽象成一個工廠 由工廠產生對象 比如:工廠包含:鉛筆,圓珠筆,鋼筆 工廠方法:延遲到子類實例 有多個工廠,但每個工廠只能產生一類對象 比如:抽象工廠包含: mysql 和or

原创 linux 性能瓶頸排查

背景 作爲開發人員,肯定遇到過以下場景,應用突然卡住了,或者異常退出,cpu佔用過高等各種異常情況,一般遇到這些異常情況,該如何去查找具體原因呢? linux和jdk提供了一些命令和工具來查看內存、cpu、網絡等數據。我們統稱這些情況成爲