原创 effective java 讀書筆記---第7章 方法

38.檢查參數的有效性 需要在方法入口處檢查參數有效性 對於公有方法,需要使用@throws 標籤說明違反參數值限制時拋出的異常 對於 private 方法可以使用斷言(assertion)來檢查它們的參數例子: priv

原创 jsp 前端防止 xss 注入攻擊

對輸出到 html 上的值做過濾操作,主要可以使用如下兩種方式: HtmlEncode方式: var HtmlEncode = function(str){ var hex = new Array('0','1','2',

原创 effective java 讀書筆記---第10章 併發

66.同步訪問共享的可變數據 基本數據類型除了 long 與 double 都是原子性的 java雖然保證了在讀取原子數據時不會看到任意的數值,但它並不能保證一個線程的寫入,對例外一個線程是可見的,考察如下代碼: pr

原创 java 編程思想 讀書筆記

從事 java 開發兩三年了,最近開始重新看 java 編程思想,記錄一下讀書所得,以備以後查詢,持續更新 流程控制 break continue 在循環中的使用,這兩者都可以配合標籤來跳出循環,不使用標籤時 continue

原创 effective java 讀書筆記---第9章 異常

57.只針對異常的情況才使用異常 異常只用於異常的情況,永遠不能用於正常的流程控制 設計良好的 api 不應該強迫它的客戶端爲了正常的控制流使用異常 如果類有特定的狀態相關的方法,則類應該提供狀態測試關聯的方法,例如 ite

原创 怎麼理解 Condition

在java.util.concurrent包中,有兩個很特殊的工具類,Condition和ReentrantLock,使用過的人都知道,ReentrantLock(重入鎖)是jdk的concurrent包提供的一種獨佔鎖的實現。它繼承自D

原创 Fork/Join框架簡析

最近看多線程方面的知識,無意間看到fork/join框架,蠻有意思的,就研究了下,記錄下來以便以後查詢 Fork/Join框架是jdk1.7之後concurrent包新增的功能 簡單來說,實現了一個任務隊列,每個任務可以自己選擇拆分當

原创 瀏覽器js定位(百度地圖與高德地圖)

最近項目中使用到了瀏覽器端定位記錄下來 目前已知有兩種方式實現定位 1.H5自帶定位,可以獲取到當前的gps座標,然後使用第三方工具(百度,高德等)轉換座標即可獲取當前的地理位置信息,具體代碼網上很多,但我試了下,不知道是什麼原因,我

原创 angularjs 簡單筆記

最近項目使用angularjs1.5,由於之前沒有接觸過angularjs,開發時磕磕絆絆,現在把開發時遇到的一些問題記錄下來,一遍日後查找 1、獲取當前web的根路徑,js代碼 var ctx = function() { va

原创 spring cloud學習使用總結

1、springcloud使用具體方法可以參考博客 https://blog.csdn.net/forezp/article/details/70148833,注意自己使時,注意區分springcloud的各個版本 2、springcl

原创 redis 消息發佈訂閱與消息隊列

redis可以實現消息的發佈訂閱,可以用作java中的訂閱發佈模式 純粹redis的發佈訂閱 redis客戶端1中使用命令 SUBSCRIBE talk 可以訂閱通道 talk上的消息 redis客戶端2中也同樣運行這個命令一起

原创 Jenkins部署實例(javaweb與vue 前後端項目)

記錄下jenkins部署的方式,便於以後查找 1.jenkins環境安裝 這部分,由於使用的已經安裝好環境的服務器,因此不做記錄,可以參考官方文檔,或者谷歌 2.jenkins部署maven打包的javaweb工程 2.1 在左側

原创 javaweb 文件下載

本文總結,javaweb下載文件遇到的各種問題 1.html5支持的文件下載 非常簡單代碼如下: <a download="下載文件.txt">下載文件</a> 這種方式不支持ie瀏覽器 2.需要後臺支持的文件下載: 前端代碼如下

原创 單例模式---懶漢與餓漢模式和靜態內部類實現

單例模式是最基本的 java 設計模式之一 主要有兩種設計方法,主要分爲餓漢式與懶漢式 餓漢式比較簡單,直接使用常量即可,主要代碼如下: private static final SingleModel INSTANCE = n

原创 jenkins tomcat熱部署,任務線程重複啓動的解決方法

項目使用jenkins熱部署發佈,導致web工程中的任務隊列重複啓動,即重新發布的工程自己啓動了自己的任務線程,但之前老項目的任務線程沒有被終止 工程任務線程如下所示: @PostConstruct public void messag