原创 ThreadLocal詳解

保證線程安全一是可以同步對共享資源的操作和訪問,二是不共享。就像ThreadLocal這樣,給每個線程分一個對象,每個線程也只能訪問到自己的這個對象,從而保證線程安全。就像SimpleDateFormat這個類,咋也沒想到它是線程不安

原创 淺談java線程池(基於jdk1.8)

多線程讓程序世界豐富多彩,也讓其錯綜複雜。對於線程的創建和銷燬成了一筆不小的開銷,爲了減少這些開銷,出現了線程池。線程池對線程進行管理,對於需要使用多線程的我們來說,只需要把任務丟給線程池就可以了。但當我們把任務丟給線程池的時候,它是

原创 淺析ClassLoader的雙親委派

小引 public class Demo { public static void main(String[] args) { System.out.println(Demo.class.getClassLoa

原创 JDK1.8HashMap源碼解析

數據結構 JDK1.8中的HashMap採用了數組加鏈表加紅黑樹的數據結構,就像這樣: 每當插入一個元素的時候,就會對這個元素的鍵的Hash值按此時的數組長度取模,然後裝入對應的位置。比如一個hash值爲14的元素插入一個table

原创 計數排序

計數排序和原來說過的幾個排序算法有一個特別大的不同之處:它是一個不基於比較的排序算法。不管是快排,歸併,還是堆排,它們都難以突破NlogN的運行時間下限,而計數排序是一個線性時間級別的排序算法。對NlogN的突破憑藉的就是不基於比較對

原创 子字符串查找之KMP

目錄小引——暴力查找KMP 小引——暴力查找 模式 ABABAC 字符串文本 ABABAABABAC 當我們需要從文檔中查找某個關鍵詞時,就用到了子字符串查找技術。比如在某個數據庫導出文檔中想要查找所有用戶的密碼,想

原创 無向圖

概念轟炸 圖是由一組頂點和一組能夠將兩個頂點連接的邊組成的 x-y表示x到y的一條邊 一條連接一個頂點和其自身的邊稱爲自環 連接同一對頂點的兩條邊稱爲平行邊 含有平行邊的圖稱爲多重圖 某個頂點的度數即爲依附於它的邊的總數 當兩個頂點

原创 初識紅黑樹

小引——2-3樹 二叉查找樹中,每個結點上有一個鍵和兩個鏈接,我們稱這種結點爲2-結點。所以,有着兩個鍵和三個鏈接的結點我們稱之爲3-結點。由2-結點和3-結點構成的樹稱爲2-3樹。 2-3樹和上一篇說的普通二叉查找樹最大的不同

原创 二叉查找樹中的插入查找和刪除

上一篇文中,通過二分查找,我們實現了對數級別的查找方案,但因爲使用了數組這一數據結構,插入時需要移動大量的元素,導致插入動作任然很慢。爲了減少移動的元素,我們這次使用鏈表,爲了保持二分查找的效率,我們將二者結合起來——二叉查找樹。

原创 Jquery.form.js的使用

面臨問題:form表單submit之後,後端會返回提示信息。但原生html無法獲取後端返回的數據,就造成了這樣一種局面:提交之後,頁面發生跳轉,在一個空白頁面上顯示了後端返回的json數據,用戶體驗0分。 解決辦法:使用jquery.fo

原创 六個文件開啓mybatis之旅

第一個文件(POJO):User.java public class User { private Long id; private String name; private String sex; pri

原创 spring源碼中的aspects包無效,debug之路何去何從?(總結spring源碼debug環境搭建步驟)

前言:原來根據其他博文搭建了spirng源碼debug環境,可惜的是aspects包在idea中不能完成編譯,只能unload,但是這樣做了之後,就不能debug源碼的aop部分,於是有了這篇博客。 1. 下載源碼 預編譯oxm

原创 無法連接到此網絡 win10

今天回家,發現連接不上家中的無線網了,報的就是這個錯 無法連接到此網絡 只要一連,就報這個錯,沒有任何其他提示。重啓大法也沒能解決這個問題,我就百度了一下,還好,百度依舊保持了他原來的風格,搜出的絕不是你想要的(不好意思,又黑了你一把

原创 centOS重裝mariadb

Centos7上卸載Mariadb數據庫 查詢所安裝的MariaDB組件: [root@localhost logs]# rpm -qa | grep Maria* MariaDB-server-5.5.49-1.el7.centos.x