原创 【Spring源碼解析】-- Spring容器啓動流程分析[註解版](三)

現在開始進入正題,開啓我們對Spring源碼的分析。那麼首先看下面的代碼: public static void main(String[] args){ //創建Spring容器,那麼spring容器都經歷了撒

原创 【數據結構】-- 線性結構(二)

線性結構   線性表:順序表示、鏈式表示 鏈表:單向鏈表、雙向鏈表、循環鏈表、循環雙鏈表 比較:鏈表插入快,順序表查找快 棧和隊列 雙端隊列:允許兩端都可以進行入隊和出隊。

原创 【數據結構】-- 排序(五)

排序 排序分爲內部排序和外部排序。 內部排序:使用內存進行排序。 外部排序:內存和外存結合使用。 內部排序:插入排序、選擇排序、交換排序、歸併排序和基數排序

原创 【數據結構】-- 查找(四)

查找 查找是與被查找元素的數據結構有關的,主要分爲三類:線性表、樹結構、哈希 1.線性表 順序查找:效率比較低 折半查找:要求線性表有序,且可以隨機訪問(所以說鏈表不行)。 插值查找:折半查找每次都取1/2的位子,插值可以插入到適

原创 【緩存】-- cache緩存技術詳解

標題歡迎使用Markdown編輯器新的改變功能快捷鍵合理的創建標題,有助於目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPants創建一個自定

原创 (三)鎖和事務

摘要: 今天主要給大家介紹一下數據庫的鎖和事務。數據庫的事務主要解決的問題是併發控制,試想一下,如何多個用戶併發的去修改同一記錄,會發生什麼? 1、鎖 鎖的類型: 共享鎖:也叫讀鎖,多個客戶可以同時讀取同一個資源,互不干擾。

原创 【數據結構 】-- 非線性結構(三)

非線性結構主要包括樹和圖。其中樹主要的是二叉樹。 二叉樹:每個結點至多隻有兩個子結點的樹稱爲二叉樹。 二叉樹的遍歷:先序DLR、中序LDR、後序LRD、按層遍歷 ①遞歸 /** * 中序遍歷二叉樹 *

原创 Java基礎(二)集合框架

集合框架類圖

原创 【Spring源碼解析】-- 基於註解驅動開發(二)

前言 由於目前網上比較的文章都是基於xml,完全基於註解開發,或者是基於註解源碼分析比較少。所以決定寫一寫spring基於註解驅動開發的使用,以及實現原理分析。 一、Spring的註解有哪些?功能是什麼? spring提供的註解有

原创 【面試必備】-- Java工程師知識點

很多人在面試的時候,不知道要準備些什麼。接下來,我就給大家梳理一下Java工程師面試時,要準備的知識。如果你每個知識點都能搞定的話,那麼我相信面試一定不是什麼問題。 一、計算機基礎知識: 數據結構 計算機網絡 二、Java知識

原创 【Spring源碼解析】-- Java註解知識回顧(一)

前言 在學習spring註解驅動開發之前,我們先來回顧一下Java的註解相關的知識。 一、註解的定義 直接看代碼: /*自定義註解@Book*/ @Retention(RetentionPolicy.RUNTIME) @Targe

原创 【Spring源碼解析】-- 基於註解驅動開發(一)

前言 由於目前網上比較的文章都是基於xml,完全基於註解開發,或者是基於註解源碼分析比較少。所以決定寫一寫spring基於註解驅動開發的使用,以及實現原理分析。 一、Spring的註解有哪些?功能是什麼?

原创 【J.U.C詳解】--線程池ThreadPoolExecutor源碼解析

爲什麼要使用線程池呢?有什麼好處?

原创 【J.U.C詳解】--深入理解volatile關鍵字

一、volatile的語義 1.Java內存模型 先在瞭解volatile之前,我們來看看java內存模型。 在計算機中,CPU的計算速度很快,但是存儲速度跟不上,所以高速緩存就誕生了,它比內存讀寫速度快很多。那麼問題來了,每個

原创 【J.U.C詳解】--深入理解AQS

一、AQS是什麼? AQS全稱AbstractQueuedSynchronizer,抽象隊列同步器,簡稱同步器。它是用來構建鎖或者其他同步組件的基礎框架。它內部有一個int表示同步狀態,通過內置的雙向隊列獲取線程的排隊工作,併發包