原创 深入理解ArrayBlockingQueue
說明 通過分析源碼,瞭解ArrayBlockingQueue的特性。本文基於JDK1.7源碼進行分析,在此進行記錄和總結,若有錯誤,歡迎指正 正文 在看源碼之前,通過查詢API發現對ArrayBlockingQueue特點的簡單介紹: 一
原创 最快的 maven repository--阿里鏡像倉庫
國內最好的maven repository 第一步:修改maven根目錄下的conf文件夾中的setting.xml文件,內容如下: <mirrors> <mirror> <id>alimaven</id>
原创 Tomcat啓動報Error listenerStart錯誤(打印詳細日誌)
今天啓動Tomcat啓動不了,報以下錯: org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart org.apache.c
原创 nginx+tomcat 獲取正確的remoteAddr
一、問題背景 通過nginx來反向代理客戶端請求,經過nginx中轉轉發給tomcat服務器,但發現tomcat服務器無法獲取到正確的remoteAddr客戶端地址,每次請求拿到的都是nginx所在服務器的IP 1、在tomcat服務器
原创 預防xss漏洞的方法
1、jstl:<c:out value="${name}" escapeXml="true"/> 2、EL: ${fn:escapeXml(param)} 3、工具類:org.apache.commons.lang.StringEscap
原创 深入淺出java Semaphore
前言 JDK的併發包中提供了幾個非常有用的工具類,這些工具類給我們在業務開發過程中提供了一種併發流程控制的手段,本文會基於實際應用場景介紹如何使用Semaphore,以及內部實現機制。 Semaphore是什麼 Semaphore也叫信號
原创 跨域資源共享(Cross-origin resource sharing)CORS
說起跨域,很多web程序員並不陌生,出於對安全問題的考慮,1995年由Netscape提出同源策略,瀏覽器在發送Ajax請求時,只接收同域服務器響應的數據資源;那麼什麼纔算同域呢?很簡單,協議、域名、端口全部相同纔算同一域下,三個條件有一
原创 爲什麼volatile不能保證原子性而Atomic可以?
原文鏈接:https://www.cnblogs.com/mainz/p/3556430.html 在上篇《非阻塞同步算法與CAS(Compare and Swap)無鎖算法》中講到在Java中
原创 linux TOP命令各參數詳解
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器. 下面詳細介紹它的使用方法: (實時監控系統資源使用情況圖) 統計信息區前五行是系統
原创 Java中循環遍歷刪除list中元素方法總結
JAVA中循環遍歷list有三種方式for循環、增強for循環(也就是常說的foreach循環)、iterator遍歷 1、for循環 List<String> list = new ArrayList<>(); lis
原创 Jedis常用方法API
一、引入jedis包 二、創建 jedis對象 三、鍵操作: 四、字符串操作: 五、整數和浮點數操作: 六、列表(List)操作: 七、集合(Set)操作:
原创 System.Security.SecurityException Failed to negotiate HTTPS connection with server.fiddler.network
最近做一個項目使用了http2,直接瀏覽器請求成功,但用fiddler發起請求的時候,返回了以下錯誤 —————— [Fiddler] The connection to 'localhost' failed. <br />System
原创 Java多線程的同步機制(synchronized)
Java多線程的同步機制(synchronized) 一段synchronized的代碼被一個線程執行之前,他要先拿到執行這段代碼的權限,在 java裏邊就是拿到某個同步對象的鎖(一個對象只有一把鎖); 如果這個時候同步對象的鎖被其他線程
原创 Jsp需要注意的一些事項
一、需要中止jsp,返回結果的時候,需要加上return 1、原因: 使用response.sendRedirect和forward,或者response.setStatus(xxx)返回錯誤碼給前端,想要中止jsp的時候,必須使用ret
原创 IDEA中創建maven web項目的詳細部署
步驟一:首先先創建一個project,上次我說過了創建一個project就是一個工作空間,在這裏就是創建一個maven的工作空間 步驟二:你要選擇maven然後按照下面圖片 的指示操作就可以了---》最後點擊next按鈕 步驟三:如圖