原创 全面解析註解

一、爲什麼要學習註解①因爲註解現在非常流行,在很多的時候都被應用,特別是框架相關代碼,我們第一步也就是拿到別人用註解寫的代碼做到能看懂②讓編程更簡潔,代碼更加清晰③逼格更高...二、什麼是註解註解是在jdk1.5之後被引入的,Java提供

原创 桶排序(計數排序)原理以及java實現

原來我所介紹的排序都是基於比較的排序,例如快排、堆、歸併等等,而桶排序不是基於比較的排序,而是一種基於的是數據狀況的排序,桶排序其實是已知要排序的數據所在的區間,把該區間均勻分成n個桶,這n個桶包含要排序的數的所有結果,我們把相應的結果放

原创 SpringMVC應用的開發步驟以及SpringMVC的執行流程

一、SpringMVC應用的開發步驟1.在web.xml文件中配置前端控制器DispatcherServlet來攔截用戶請求。<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi

原创 java集合類深度解析

一、爲什麼要使用集合類我們想要裝一些元素,首先想到的是數組,但是數組有侷限性,一是必須裝相同類型的數據,二是其長度是不可變的,在很多場合上,比如員工管理,假設我們需要一個容器來存儲員工的基本信息,因爲一個公司的員工可能有辭職跳槽新進的等等

原创 如何實現有三個線程a,b,c,這三個線程都有一個方法分別打印A、B、C,問怎麼能實現依次打印ABC的功能

一、今天有家電面(具體哪家就不提了)問了這樣的問題:如何實現有三個線程a,b,c,這三個線程都有一個方法分別打印A、B、C,問怎麼能實現依次打印ABC的功能。當時想着使用優先級或者join方法(肯定不行,因爲你定的優先級不太聽話不會按照你

原创 使用記憶搜索方法優化暴力遞歸(通解)

題目: 給定一個數組arr,arr中所有的值均爲正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定一個整數aim代表要找的錢數,求換錢有幾種方法? 一、暴力搜索方法 一個案例: arr={5,10,25,

原创 設計一個具有獲取最小值(getMin)方法的棧

一、題目描述 實現一個特殊的棧結構,該棧在具有一般棧的結構的基礎上還具有獲取棧最小元素的功能。 二、題目要求 1.棧的pop、push、getMin操作的時間複雜度均爲O(1); 2.設計特殊棧的時候可以使用現成的棧作爲工具去完成。 三、

原创 選擇排序和插入排序(Java實現)

1.選擇排序選擇排序就是進行n-1輪比較 每輪比較至多交換一次 先設最小值爲本輪比較初始值 然後比這個值小的就變爲最小值,最後那個肯定是本輪最小值的座

原创 master公式(主方法)

·    master公式(也稱主方法)是用來利用分治策略來解決問題經常使用的時間複雜度的分析方法,(補充:分治策略的遞歸解法還有兩個常用的方法叫做代入法和遞歸樹法,以後有機會和親們再嘮),衆所周知,分治策略中使用遞歸來求解問題分爲三步走

原创 利用隊列來實現棧和利用棧來實現隊列

一、如何只使用隊列來實現棧結構因爲隊列的結構是先進後出,而棧的數據結構特點是先進先出,所以我們可以搞兩個隊列,當一個隊列進入另外一個隊列的時候,只剩下一個元素,留着返回,然後這個隊列再進入原來哪個隊列只剩下一個元素等着返回,循環使用這個邏

原创 快速排序原理以及Java實現

爲什麼要學習快速排序:我們知道,希爾排序相當於直接插入排序的升級版,他們同屬於插入排序類,堆排序是簡單選擇排序的升級,同屬於選擇排序,快速排序則是最慢排序冒泡排序的升級,同屬於交換排序類,就是通過不短的比較和移動交換來實現排序的,只不過他

原创 java中利用數組實現大小固定的棧和隊列

我們都知道棧和隊列這兩種最基本的數據結構,他們的特點分別爲---棧:先進後出 隊列:先進先出。那麼,在java中如何利用數組來實現這兩種數據結構的呢?一、實現棧:就是用一個數組來實現棧這個數據結構/** * 因爲所有的數據結構必然是要落

原创 數據庫的髒讀、不可重複讀、幻讀以及四種隔離級別

數據庫的髒讀、不可重複讀和幻讀髒讀:也就是當數據庫的一個事務A正在使用一個數據但還沒有提交,另外一個事務B也訪問到了這個數據,還使用了這個數據,這就會導致事務B使用了事務A沒有提交之前的數據。不可重複讀:在一個事務A中多次操作一個數據,在

原创 冒泡算法以及其改良(java實現)

冒泡排序是一種非常簡單的排序算法,核心思想就是相鄰的兩個記錄進行兩兩比較,如果不滿足排序條件就交換,滿足就不交換,例子:給定一個數組aint i,j;

原创 單例設計模式與其線程安全

一、單例設計模式的定義 單例設計模式,顧名思義就是用來保證一個類裏只有一個實例化對象,且這個對象的實例化是自己進行的,而且容易被外界訪問。 二、單例設計模式的使用場景 因爲在單例設計模式中,系統只有一個實例化對象,所以其常用於系統中只允許