原创 二叉樹的深度(前序、中序、後續)遍歷-java實現

初始化 參見本博客裏的 二叉樹層次遍歷 ,樹結構如下。 /** * init tree 1 2 3 4 null 5 6 * 1 * 2 3 * 4

原创 二叉樹的層次遍歷和分層遍歷,每層個數

初始化二叉樹 package com.zhenxing.garypractice.algorithm.structure; /** * ClassName: Tree structure <br/> Function:

原创 二叉樹反轉-java實現

初始化二叉樹 見blog文章層序遍歷 /** * init tree 1 2 3 4 null 5 6 * 1 * 2 3 * 4 null 5

原创 Mac——MySQL使用和root密碼修改

原因 之前在電腦中裝過MySQL,很久沒用了結果忘記了密碼,又折騰了下修改密碼,所以這裏記錄下怕又忘了。 啓動MySQL 進入mysql目錄文件 cd /usr/local/mysql/support-files 1. 啓動

原创 iterm2上傳下載文件及lrzsz安裝

直接使用scp命令 上傳 scp -r local_folder username@ip:remote_folder //或者 scp -r local_folder remote_ip:remote_folder 下載 scp

原创 從fatjar中讀取資源文件

需求 傳個模板文件到服務器上,讀取這個模板文件做些事情 做法 將模板文件放到Java工程的資源文件目錄裏,然後將文件拷貝到服務器上的某個目錄下,程序中用到的時候從該目錄讀取 注意 因爲程序是打成fatjar後再服務器上運行的,所以

原创 排序算法——快速排序 java實現

算法分析 每次通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。 時間複雜度 平

原创 Java多線程——Callable、Future和FutureTask

通過Thread或Runnable創建的線程,都需要重寫run方法,而run方法的返回是void的,所以使用這種方式無法獲取線程執行結果。但java提供了其他類和方法來獲取線程執行結果,主要的類有Callable、Future和F

原创 Java——獲取圖片尺寸和大小

包括獲取本地圖片和遠程服務器上的圖片的尺寸和大小,這裏分別使用 BufferedImage 和 ImageReader 來獲取圖片信息,ImageReader 是通過從圖片源信息中獲取圖片信息,所以速度會更快。 獲取本地圖片信息

原创 MySQL常用語句及注意事項

1.SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。如果是數值,請不要使用引號。 2.可以在不刪除表的情況下刪除所有的行。(不要加*)這意味着表的結構、屬性和索引都是完整的 DELETE FROM table_n

原创 Java——命令jps、jstat、jmap、jstack、jhat、jinfo

JAVA_HOME/bin/ 目錄下jdk提供了很多自帶工具,下面以tomcat下的web項目爲例。如果感覺輸出內容太多可以使用 xxx | head -n 20 顯示輸出內容的頭20行。 jps jps:顯示當前用戶的所有ja

原创 Java多線程——生產者和消費者模式

生產者消費者模式 爲什麼要使用生產者和消費者模式 優點 應用 示例代碼 用阻塞隊列實現 用wait notify實現 參考資料 生產者消費者模式 生產者和消費者模式是一種併發設計模式,生產者消費者模式解決的是兩者速率

原创 Java多線程——volatile

volatile關鍵字介紹 volatile修飾的變量在多處理器開發中保證了共享變量的“可見性”。可見性的意思是當一個線程修改一個共享變量時,另外一個線程能讀到這個修改的值。Java中的volatile關鍵字用作Java編譯器和T

原创 Java——通過反射獲取函數參數名稱

通過javassit獲取 參見 http://blog.csdn.net/viviju1989/article/details/8529453 這篇文章的方法一,實現比較麻煩,就不說了。 通過spring的LocalVariabl

原创 java多線程——ThreadLocal

ThreadLocal介紹 ThreadLocal可以創建只能由同一線程讀取和寫入的變量。因此,即使兩個線程正在執行相同的代碼,並且代碼具有對 ThreadLocal變量的引用,那麼這兩個線程不能看到對方的ThreadLocal變