原创 log4j.xml 中配置多個輸出文件

現在的項目中,對於日誌的配置,我們有時候需要配置對應不同的輸出日誌文件,例如按照模塊劃分,按照功能劃分,分別輸出到不同的日誌文件中,下面介紹一下,怎麼配置不同的輸出日誌文件。 下面是一整塊的log4j.xml配置。如果對怎麼配置sprin

原创 session和cookie的區別

引言:cookie和session誕生的背景。 我們知道web瀏覽器和服務器在網絡上傳輸通信的過程中是採用HTTP協議的,而HTTP協議是一種無狀態的協議,一旦數據交換完畢,客戶端與服務器端的連接就會關閉,再次交換數據需要建立新的連接。這

原创 TCP/IP 協議簡析

前言:爲了瞭解TCP/IP協議,我們先來簡單介紹HTTP協議。 1. 什麼是HTTP協議。     1.1 HTTP(HyperText Transfer Protocol,超文本傳輸協議),當我們在網頁瀏覽器(web browser)

原创 spring 中事物的使用

關於事物的一些概念和事物的特性,隔離性,請看我的另外一篇文章,地址:mysql 事物,本篇文章就不對事物的概念以及特性進行介紹了。本篇文章主要介紹在spring 中,事物的使用。 在講解spring 中使用事物之前,我們先大致瞭解一下在代

原创 ArrayList和LinkedList的區別

引言:ArrayList和LinkedList都是實現了List接口的容器類,都可以用來用於存儲一系列的對象引用。但是他們兩者內部的結構卻是完全不一致的,ArrayList的內部是基於數組的,而LinkedList的內部卻是基於循環雙向鏈

原创 HashMap實現原理

 HashMap是基於哈希表的Map接口的非同步實現,也就是說不是線程安全的。此實現提供所有可選的映射操作,並允許使用null值和null鍵。此類不保證映射的順序,特別是它不保證該順序恆久不變。 簡單來說,HashMap由數組+鏈表組成的

原创 HTTP和HTTPS的區別

HTTP和HTTPS在表面上看僅有一個單詞的區別,那麼兩者在背後到底有着什麼樣的區別和聯繫呢,下面一一解析。 1. 什麼是HTTP協議     HTTP(超文本傳輸協議)被用於在Web瀏覽器和網站服務器之間傳遞信息,完成通信的功能。簡言之

原创 mysql事物詳解

前言:事物是什麼?作爲一個java程序員,也許我們僅僅只是停留在會使用的程度上,會通過在類上或者方法上使用@Transactional註解的方式來使用事物,但是背後的原理,爲什麼使用這個註解就能使事物生效可能並不是很清楚。下面本文詳細一一

原创 使用jsoup解決xss(跨站腳本攻擊)威脅

1. 在介紹jsoup之前,首先來詳細介紹一下關於xss的信息。 1.1 什麼是xss  Cross-Site Scripting(XSS)是一類注入問題,惡意腳本被注入到健康的、可信任的網站。當一個攻擊者通過一個網站應用程序,    

原创 maven中類衝突,包依賴NoClassDefFoundError以及方法NoSuchMethodError的問題定位以及解決

作爲java程序員,我們在項目開發的過程中,肯定需要依賴大量的第三方依賴包,通常我們都是使用maven構建工具來管理第三方工具包的,既然有依賴第三方包,那麼肯定也會遇到jar包衝突的問題,那這個時候,我們就需要定位問題所在,定位問題所在首

原创 mysql 中根據查詢結果排名

現在在一般的項目中實現排名的功能應該非常常見,例如在一個班級中,學生的數學分數進行排名,取排名靠前10個學生的信息,再例如獲取我在班級中的排名等等 1. 創建表 CREATE TABLE `com_user_point` (

原创 使用 SimpleMappingExceptionResolver 統一處理 spring mvc 異常

異常處理每個程序員應該都不陌生,我們項目代碼在遇到一些未知的錯誤或者異常時,不能直接將這些錯誤信息直接返回到前端,展示給用戶看,我們應該將這些錯誤轉化成用戶能夠看得懂的簡潔的錯誤信息。spring mvc在統一異常處理方面提供了兩種方式:

原创 spring mvc 請求 json數據的處理

目前項目中json數據這種格式因爲其簡單,便於解析的特點而廣泛應用於前後端的交互中,而spring mvc也支持對json這種格式數據的轉換和解析。1. 那其中就是HttpMessageConverter這個接口提供了這個轉化和解析的功能

原创 maven pom.xml 中 dependencyManagement和dependencies詳解

maven 是用來構建項目結構的,是一種主流的項目構建工具,項目中使用到的第三方jar包,用maven來管理是非常方便的,本篇文章主要來講解<dependencyManagement> 和 <dependencies> 在管理jar包方面

原创 linux 下使用命令查看jvm信息

java程序員除了編寫業務代碼之外,特別是項目上線之後,更需要關注的是系統的性能表現,這個時候就需要了解一下jvm的性能表現了,可以藉助於java虛擬機自帶的一些分析工具,主要有三個常用的命令。1. jmap    這個命令是用來查看當前