原创 解決方案:Invalid character found in the request target. The valid characters are defined in RFC 7230

報錯信息如下:  從錯誤日誌中看到Error parsing HTTP request header 負責解析http請求的是org.apache.tomcat.util.http.parser.HttpParser,它對請求對URL中

原创 freemarker導出docx文檔

導出原理 docx是一個壓縮包,我們新建一個docx文檔,添加一些內容,後綴名改爲.zip進行解壓 其中word下面結構如下 其中document.xml主要就是文檔內容。 打開document.xml <?xml versi

原创 利用牛頓迭代公式開方

牛頓迭代公式 牛頓迭代法(Newton's method)又稱爲牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method),它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。    加入 f(x)=0 的根

原创 jdk1.8集合框架源碼解析(七)CopyOnWriteArrayList源碼解析

一、簡介 CopyOnWriteArrayList 是ArrayList的線程線程安全版本,其主要是通過volitle 修飾數組本事保證寫操作對其他線程可見性,寫操作是使用ReentrantLock加鎖,每次對數組的寫操作,都完全拷貝一

原创 各種鎖的名詞解釋

1、公平鎖/非公平鎖 公平鎖,是按申請鎖的先後順序依次獲取鎖。 非公平的鎖,不是按照線程申請的順序獲取鎖,可能發生後申請線程比先申請的線程先獲得鎖。 ReentrantLock中可以通過構造方法指定是否爲公平鎖,默認爲非公平鎖,非

原创 Synchronized鎖的升級

Java對象頭 Synchronized用的鎖是存在java對象頭裏的。如果對象是數組,虛擬機則使用三個字寬(Word)存儲對象頭,如果是非數組類型則用2個字寬存儲,在32位虛擬機 1個字寬=4個字節 32位jvm java對象頭的存儲結

原创 volatile原理以及使用場景

 volatile的特性 volatile是一個特殊的修飾符,只有成員變量才能使用它。 當一個共享變量被volatile修飾時,它會保證修改的值會立即被更新到主存,當有其他線程需要讀取時,它會去內存中讀取新值。 volatile特性一:內

原创 aop 切點表達式

1. 簡介        面向對象編程,也稱爲OOP(即Object Oriented Programming)最大的優點在於能夠將業務模塊進行封裝,從而達到功能複用的目的。通過面向對象編程,不同的模板可以相互組裝,從而實現更爲

原创 sleep,yield,wait,join區別

sleep 有兩個重載方法 sleep(long millis)  線程睡眠 millis 毫秒 sleep(long millis, int nanos)  線程睡眠 millis 毫秒 + nanos 納秒 static void s

原创 從N個數中取出三個數,求有多少種三個數的和是0,代碼以及算法分析

從N個數中取出三個數,求有多少種三個數的和是0? 很容易想到如下代碼 public static int count (int[]a){ int count=0; int N=a.length; for(in

原创 判斷一個數是否是素數

什麼是素數? 素數釋義: 曾稱質數。一個大於1的正整數,如果除了1和它本身以外,不能被其他正整數整除,就叫素數。如2,3,5,7,11,13,17…。 根據素數定義判斷素數 public boolean isPrime(int n){

原创 java基礎面試題

java基礎面試題 面試題1 public class Test { public static void main(String[] args) { Parent p = new Child();

原创 Spring5.1源碼解析(一)源碼編譯導入idea

一、編譯前的準備 介紹下環境 jdk使用 jdk-11.0.5 idea使用2019.2.4版本 gradle使用 gradle-5.6.3 說明idea2019.3有bug,會造成源碼構建失敗 1、下載gradle配置環境變量 gra

原创 深入解析spring中用到的九種設計模式

深入解析spring中用到的九種設計模式 第一種:單例模式 spring容器中的bean默認是單例的,一般情況下用戶不會自己創建Bean,而是交給容器去管理,spring不是通過私有化構造函數進行的單例模式控制。Spring框架對

原创 DispatcherServlet的url-pattern配置

背景 由於搭建框架不是經常用到,一次搭建以後,會把代碼copy來copy去,在最近學習spring源碼時,搭建springmvc去配置化的測試工程時,對DispatcherServlet的url-pattern配置總是搞不清楚,所以寫篇博