原创 Strategy策略設計模式(十八)

思路 在開發中,我們會遇到多個算法或者策略,來實現不同的行爲。我們根據環境和需求要實現不同的策略活着好算法。比如說,對對象的排序,一個對象有多個屬性,我們定義一個算法,根據這個對象的某個屬性來排序,假如有一天需求變更,根據這個屬

原创 AtomicBoolean多線程的使用

作用 在公司的一套自己開發的系統中,發現有這麼一個東西,經過查閱資料,api,大概瞭解到這個東西,是爲了保證在多個線程下,這個業務只有一個線程進行處理。 與普通的多線程來比較 public class Aomication i

原创 sso(單點登錄)

SSO(單點登錄系統) Tomcat的session共享 隨着tomcat節點一增加,就會影響整個服務器帶寬。影響性能問題 分佈式事務問題 說明 解釋:跨數據庫,例如:既有Oracle或者Mysql,需要同時往這些數據庫插入

原创 攔截器鏈模式(責任鏈)

上圖 總結 責任鏈模式,給人的感覺像JVM的棧,先進後出,一系列的攔截器鏈,先按照順序執行完畢,可以執行我們自定義的Action,在通過鏈的模式,始終不然先執行filter完成整個流程,一直循環每一個filter,直到最後一個

原创 廖老師Git學習代碼筆記

初始化 git init 設置全局用戶名 git config –global user.name “Your Name” git config –global user.email “[email protected]

原创 PropertyPlaceholderConfigurer 使用

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 使用 對PlaceholderConfigurerSupport的繼承, Pro

原创 Solr的內存優化

JMV的虛擬內存大小測試 原因 在Solr集羣的實例中,因爲沒有給Solr實例分給足夠大的內存,導致Solr在併發測試時,內存不夠,溢出了。雖然,Solr有自動釋放內存,但是卻並未達到預期結果。最終還是溢出。於是我們嘗試給Sol

原创 InteliJ IDEA

第一次使用 花了大半天時間,才搞清楚這個idea的操作方式 資源文件目錄問題 在引入自己的maven的web項目是,顯示加載不到jsp文件,因爲這個idea是默認把資源文件加載到webapp目錄下,如果你是在MyEclips

原创 SimpleDateFormat

SimpleDateFormat的線程安全問題 在多個線程併發的情況下,同時需要用到SimpleDateFormat的情況下會出現很多問題,會發生線程掛掉,日期轉行異常等 原因 在JDK的API中有關於SimpleDateF

原创 class.getResources()和classLoader.getResources()

Class.getResources()和classLoader.getResources()區別 Class.getResources() Class.getResources(String path) path如果是以

原创 容器Iterator設計模式

遍歷內容 23種設計模式之一,行爲模式之一,主要用在容器遍歷中。返回一個iterator即可遍歷對象 優缺點 一般來說,容器的自動的增刪改由容器本身確定,而去實現遍歷,第一種:有容器本身決定,第二種:由調用者決定。這樣雖然都

原创 getRequestUI and getRequestURL

getRequestUI() api public String getRequestURI(); /** * * Reconstructs the URL the client used to m

原创 400 : bad Request

原因 在進行fome表單的提交,卻發現出現這個錯誤,進行排除,各項配置均沒有問題,但就是解決不了。依然報錯 經過google,有人說那是因爲form表單的name名字,與SpringMVC接受的參數name名字不一樣,或者

原创 jsonp跨域

jsonp跨域請求 項目中的錯誤 因爲js不支持跨域請求,而有時候又必須要對其他的系統進行跨域獲取數據,測試中報錯信息如下 XMLHttpRequest cannot load http://localhost:8088/it

原创 No content to map due to end-of-input

com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input if(json == null){