原创 簡潔全面的單例模式整理

單例實現 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 1.靜態內部類 public class Singleton { private static class SingletonHolder {

原创 內存泄露與內存溢出傻傻分不清?幫你簡單理清楚!

內存泄露與內存溢出都會導致內存無法得到合理的使用,只是之間確實有些差異,容易混淆。 簡單來說,內存泄露是不需要存活的對象無法被回收佔用內存。內存溢出是必要的對象沒有足夠的內存來創建。 內存泄露 內存泄漏(memory leak )

原创 精煉總結設計模式六大原則

1.單一職責原則(Single Responsibility Principle) There should never be more than one reason for a class to change. 應該有且僅有一

原创 強軟弱虛四種引用,看完不再犯迷糊

其實強引用、軟引用、弱引用、虛引用這四個概念非常簡單好記。 在開頭先總結一下這四個引用的特點吧。 強引用:gc時不會回收 軟引用:只有在內存不夠用時,gc纔會回收 弱引用:只要gc就會回收 虛引用:是否回收都找不到引用的對象,僅

原创 Linux環境與Windows環境部署程序顯示的時間不一致

在項目上駐場研發時遇到一個問題,和Linux與Windows獲取時間相關的問題。 問題發生的背景是,一套使用tomcat部署的Java web程序,研發環境在Windows上,測試環境在Linux上。兩套程序代碼一致,連接同一套oracl

原创 Jsoup實現簡單的爬蟲

一、背景 項目上的實施人員需要把本省的各級區劃錄入我們的新系統,然而這項工作很繁瑣,需要在國際統計局網站上查詢區劃信息,並且複製到Excel表格中,然後做進一步的數據處理。這會消耗大量的時間和人力,而且都是重複的操作。編程就是爲了提高生產

原创 Log4j配置使用的簡單教程

Log4j是個好東西,軟件運行過程中輸出日誌都靠他啦。不過因爲日常的開發工作,都是直接使用也沒有怎麼仔細研究過,所以現在好好研究研究。其實Log4j還是很簡單的,常用的東西不是很多,配置文件理清楚就明白了。Log4j由三個重要的組件構成:

原创 關於SQL最大值查詢語句的記錄

這幾天在項目上遇到一個問題,說是一個業務列表的查詢很慢。記得之前這個功能並沒有遇到這個情況,而且根據客戶的描述,是最近一段時間開始變慢的。於是從後臺拿出了不知道是誰寫的sal語句,檢查了一下,發現其中的一個子查詢語句是這樣的: SELEC

原创 lucene高亮器——lucene-highlighter-2.4.0.jar下載

網上很難找到這個資源啊…… 微盤下載地址: http://vdisk.weibo.com/s/arv82wwU511zA 點贊 收藏 分享 文章舉報 嚴肅的白小白 發佈了29

原创 簡單使用SAXReader解析xml數據

之前的工作中,一直是使用json格式的數據進行數據傳輸。很少會接觸到xml格式的數據。不過因爲工作需求,在對接其他產品的接口時,偶爾會遇到需要使用xml格式數據的情況,所以,也得學學如何解析xml。不過個人感覺,還是Json比較容易些啊

原创 長連接與echarts實現動態數據實時展示

一、需求 項目上提出了一個需求,說是需要做一個簡單大氣的頁面,上方一排方塊顯示各個市區的當日業務數量,下方是一個柱狀圖表,動態的顯示當日的業務數量。所謂動態就是要實時的顯示業務數量,如果有業務的增加,數字會跳動,而且柱狀圖也會增長。 二、

原创 idea將項目導出爲war包

idea 那麼好用,早就把eclipse拋棄了。不過每次都是在給項目發包的時候,不得不重新打開eclipse導出爲war包。感覺自己蠢蠢的。上網查了一下教程,按照網上的教程設置好了之後,運行項目發現並沒有在設置好的輸出路徑生成war包。研

原创 JDK8之lambda處理stream的常用例子

前言 在日常的編碼中,我們經常要對集合類對象進行處理。JDK8之前,我們可能要用for循環等方式來處理集合中的每一個元素。不過JDK8的lambda表達式給了我們更方便的選擇。 關於lambda表達式和stream的介紹,這裏有一

原创 簡單聊聊MySQL的LAST_INSERT_ID()

簡介 很簡單,LAST_INSERT_ID()會返回最近執行的insert語句中由AUTO_INCREMENT生成的值。 注意一下幾點: 如果最近一條insert語句不涉及到AUTO_INCREMENT字段,也不會影響到LAST

原创 一週一源碼之Vector源碼解析

簡介 Vector本質上也是個可擴展的數組,可以把它想象成線程安全的ArrayList。線程安全的關鍵是synchronized關鍵字。 源碼分析 JDK1.8中,Vector類的源碼有1400餘行,在這裏不會對諸多的方法一一詳細介紹,只