原创 字符串處理:分割,連接,填充 Google Guava

連接器[Joiner] 用分隔符把字符串序列連接起來也可能會遇上不必要的麻煩。如果字符串序列中含有null,那連接操作會更難。Fluent風格的Joiner讓連接字符串更簡單。 1 Joiner joiner =

原创 InputStream 的坑!

這兩天在做一個上傳文件到oss,然後從oss獲取文件發送郵件的case。 然後發現文件上傳到了oss,但是取出來之後郵件的附件是空的。 找了半天也沒有發現,之後通過日誌發現他們的長度是不同的。 寫了個測試demoimport org.ap

原创 JavaMail帶附件時出錯

JavaMail requires an InputStreamSource that creates a fresh stream for every // 添加附件的方法 public void addAttachment(

原创 arthas 在線診斷工具

1.官方文檔:https://alibaba.github.io/arthas/install-detail.html 2.demo網站:https://alibaba.github.io/arthas/arthas-tutorials?

原创 Elastic-JOB 定時任務

開發指南 代碼開發 作業類型 目前提供3種作業類型,分別是Simple, DataFlow和Script。 DataFlow類型用於處理數據流,它又提供2種作業類型,分別是ThroughputDataFlow和Sequenc

原创 ExecutorService 的理解與使用

商城中用到郵件發送報表。使用異步機制在後臺完成郵件發送。 這個類就可以很好的完成這個功能 接口 java.util.concurrent.ExecutorService 表述了異步執行的機制,並且可以讓任務在後臺執行。壹個

原创 數據庫連接池的實現及原理

數據庫連接池的實現及原理 對於一個簡單的數據庫應用,由於對於數據庫的訪問不是很頻繁。這時可以簡單地在需要訪問數據庫時,就新創建一個連接,用完後就關閉它,這樣做也不會帶來什麼明顯的性能上的開銷。但是對於一個複雜的數據庫應用,情況就

原创 shiro

簡介Apache Shiro 是 Java 的一個安全框架。目前,使用 Apache Shiro 的人越來越多,因爲它相當簡單,對比 Spring Security,可能沒有 Spring Security 做的功能強大,但是在實際工作時

原创 Linux查看日誌命令

1、cat命令:      功能:1)顯示整個文件。                    示例: $ cat fileName               2)把文件串連接後傳到基本輸出,如將幾個文件合併爲一個文件或輸出到屏幕。

原创 MySQL EXPLAIN命令

MySQL EXPLAIN命令是查詢性能優化不可缺少的一部分,該文主要講解explain命令的使用及相關參數說明。 EXPLAIN Output Columns 列名說明id執行編號,標識select所屬的行。如果在語句中沒子查詢或關聯查

原创 利用URLConnection來發送POST和GET請求

URL的openConnection()方法將返回一個URLConnection對象,該對象表示應用程序和 URL 之間的通信鏈接。程序可以通過URLConnection實例向該URL發送請求、讀取URL引用的資源。 通常創建一個和 U

原创 處理 InterruptedException

這樣的情景您也許並不陌生:您在編寫一個測試程序,程序需要暫停一段時間,於是調用Thread.sleep()。但是編譯器或 IDE 報錯說沒有處理檢查到的 InterruptedException。InterruptedException 

原创 CountDownLatch詳解

 CountDownLatch中count down是倒數的意思,latch則是門閂的含義。整體含義可以理解爲倒數的門栓,似乎有一點“三二一,芝麻開門”的感覺。CountDownLatch的作用也是如此,在構造CountDownLatch

原创 理解Java中的ThreadLocal

ThreadLocal是什麼 ThreadLocal是一個關於創建線程局部變量的類。 通常情況下,我們創建的變量是可以被任何一個線程訪問並修改的。而使用ThreadLocal創建的變量只能被當前線程訪問,其他線程則無法訪問和修改。 Glo

原创 理解Java中的弱引用

強引用(Strong Reference) 強引用就是我們經常使用的引用,其寫法如下   1 StringBuffer buffer = new StringBuffer(); 上面創建了一個StringBuffer對象,