原创 java利用位異或加密解密實現

private static final String key = "we4ewe9c31dweewjojz9sdeh3p"; public static String decode(String content) {

原创 lambda 表達式應用

基本語法 Lambda 表達式爲 Java8 帶來了部分函數式編程的支持。Lambda 表達式雖然不完全等同於閉包,但也基本實現了閉包的功能。和其他一些函數式語言不一樣的是,Java 中的 Lambda 表達式也是對象,必須依附於一類特別

原创 幾種常見排序

冒泡排序、雙向冒泡排序、插入排序、選擇排序、快速排序  /** * 冒泡排序 通過相鄰元素的比較和交換,使得每一趟循環都能找到未有序數組的最大值或最小值。 最好:O(n),只需要冒泡一次數組就有序了。 最壞:O(n²) 平均

原创 怎樣打造高效、完備的系統架構

歲月不居,時節如流,在習大大的新年致辭中我們又漲了一歲,轉眼間做程序員已經六年時間了,這些年做了很多項目也有很多收穫,自己也總結了一套理論。下面就結合自己的工作經驗,學習認知及實際實踐來談下怎麼才能構造一個高性能完備的技術架構。 談到高性

原创 git常用指令

git branch 查看本地分支 git branch -a 查看所有分支 git checkout dev // 切換到dev分支 git branch dev //創建一個分支 git checkout -b dev // 創建de

原创 addShutdownHook鉤子函數實例

  addShutdownHook鉤子函數在服務關閉時執行,防止重啓服務丟失當前正在執行的任務,但是kill -9 就不行了,通過下面實例你可以很容易上手怎麼使用 public class Utility { /**

原创 fgc解決思路

查看服務gc次數jstat -gc 9 5000  ,9是運行服務的pid 5000表示5秒輸出一次 jstat命令命令格式:  jstat [Options] vmid [interval] [count] 參數說明: Options

原创 持續集成工具調研

1.什麼事CI/CD 大師Martin Fowler認爲持續集成是一種軟件開發實踐,在實踐中團隊開發成員會頻繁的進行任務的集成,通常每個成員每天都會集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建來驗證,從而儘快地發

原创 記一次調用時長優化之路,暨httpclient優化之路

背景 由於公司部分業務是php開發,而我所在的部門是java開發,這之間就需要相互調用,於是就有了代理項目,負責java通過restful方式調用php接口服務, 隨着業務量的增長rt時間越來越慢,於是開始了排查。 定位問題     通過

原创 elasticsearch安裝教程,集羣搭建及jdbc同步 elasticsearch安裝 elastic-head安裝

elasticsearch安裝教程,集羣搭建及jdbc同步 elasticsearch安裝 下載 安裝之前,請確認已安裝好最新版的JDK版本,下載linux安裝包,我下載的是5.2.2版本 wget https://artifacts

原创 openoffice編譯

編譯openoffice是個費力的活,建議最好建個虛擬機,在虛擬機裏跑,編譯環境很重要,說不了裝的什麼軟件就會影響編譯,想我電腦裝了UItraEdit,關聯了js格式文件就導致編譯openoffice出錯,而且報的錯誤會往其他方向上誤導。

原创 ThreadPoolExecutor邏輯結構和工作方式

構造函數中需要傳入的參數包括corePoolSize、maximumPoolSize、keepAliveTime、timeUnit和workQueue。要明確理解這些參數(和後續將要介紹的參數)的含義,就首先要搞清楚ThreadPool

原创 EL自定義函數

  EL自定義函數實現步驟:                        1.開發函數處理類,即普通的Java類;每個函數對應類中的一個靜態方法。                        2. 建立TLD(Tag Library

原创 線程池

線程池 什麼是線程池 線程池的組成部分 線程池的實現原理 線程池的應用場景 使用線程池的優缺點 什麼是線程池 線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然後在創建線程後自動啓動這些任務 線程池類圖 線程池重要的類

原创 用grunt搭建自動化的web前端開發環境-完整教程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你沒有理由不學、不用! 1. 前言 各位web前端開發人員,如果你現在還不知道grunt或者聽說過、但是不會熟練使用grunt,那