原创 Cenos7常用命令

CentOS7 常用命令集合        這兩天一直在對CentOS 7.2進行初體驗,各種學習命令腫麼用,不過其實大多和DOS是一樣的,只是命令的表達上可能有點兒不一樣,畢竟這些都不是一家出來的嘛~        廢話不多說,直接上命

原创 Java 項目中異常的統一處理

1. 前言 Java中的異常處理,常用的處理方式,直接throw 一個異常對象,或者捕獲catch一個異常,讓程序繼續執行,但是在一個項目中,這種簡單處理異常的方式並不可取,因爲在業務代碼中直接拋出或者捕獲異常,跟業務的耦合性都太高,而且

原创 結構型模式----橋接模式

1. 定義     將抽象部分與其實現部分分離,使得它們可以獨立地變化,它是一種對象結構型模式,又稱爲柄體(Handle and Body)模式或接口(Interface)模式  2. 橋接模式結構圖:  結構圖中角色分析      A

原创 創建型模式

創建型模式關注對象的創建過程,將對象的創建和使用分離,在使用對象時無需關心對象的創建細節;每一個創建型模式都採用不同的解決方案回答了3個問題:創建什麼(What),由誰創建(Who),何時創建(When);以下是創建型模式各個模式的基本定

原创 結構型模式----適配器模式

1. 適配器模式定義      將一個接口轉換成客戶希望的另一個接口,使接口不兼容的那些類可以一起工作.(注:該處的接口是指廣義的接口,可以表示一個方法或者方法的集合)   2. 結構圖   3. 角色分析   Target(目標抽象類

原创 深入理解Java類加載器(一):Java類加載原理解析

原文鏈接:https://blog.csdn.net/justloveyou_/article/details/72217806 一、引子 每個開發人員對java.lang.ClassNot

原创 二叉樹基礎

樹(Tree)   樹中每個元素叫作節點;用來連線相鄰節點之間的關係,即"父子關係";把沒有父節點的節點叫作根節點,沒有子節點的節點叫作葉子節點或葉節點; 樹中高度(Height),深度(Depth),層(Level)的定義:  節點高度

原创 鏈表

    數組需要一塊連續的內存空間來存儲,而鏈表不需要一塊連續的內存空阿金,通過指針將一組零散的內存塊串聯起來,數組對內存的要求較高,如果申請一個100MB大小的數組,內存中沒有連續的,足夠大的存儲空間時,即便內存的剩餘總可用空間大於10

原创 二分法查找

如何用最省內存的方式實現快速查找功能 二分法思想 二分法查找針對的是一個有序的數據集合,每次通過與區間的中間元素對比,將待查找的區間縮小爲之前的一半,直到找到要查找的元素,或者區間被縮小爲0 二分查找非常高效,假設數據大小是n,每次查找後

原创 線性排序:如何根據年齡給100萬用戶數據排序

桶排序,計數排序,基數排序的時間複雜度是線性關係,因爲三個算法是非基於比較的排序算法,都不涉及元素之間的比較操作,故可做到線性的 時間複雜度 桶排序 核心思想是將要排序的數據分到幾個有序的桶裏,每個桶裏的數據在單獨進行排序,桶內排完之後,

原创 排序(下)

排序(下): 如何用快排思想在O(n)內查找第K大元素? 冒泡排序,插入排序選擇排序的時間複雜度都是O(n2 ),比較高,適合小規模數據排序,而歸併排序和快速排序,時間複雜度都是O(nlogn)的排序,適合大規模的數據排序 歸併排序 如果

原创 排序(上)

如何分析一個排序算法的效率: 最好情況,最壞情況,平均情況時間複雜度 時間複雜度的係數,常數,低階 比較次數和交換(移動)次數 排序算法的穩定性 如果待排序的序列中存在值相等的元素,經過排序之後,相等的元素之間原有的先後順序不

原创 什麼是棧

棧是一種後進先出,先進後出的數據結構,只允許一端插入和刪除數據,在特定的應用場景下 ,當某個數據集合只涉及在一端插入和刪除數據,並且滿足後進先出,先進後出的特性,就應用選擇棧實現 棧的實現:  棧既可以用數組來實現,也可以用鏈表實現,分別

原创 隊列

隊列 隊列是一種先進先出的數據結構,基本操作就是入隊,放一個數據到隊列尾部;出隊,從隊列頭部取一個元素. 隊列與棧一樣,也是一種操作受限的線性表數據結構; 棧與隊列 順序隊列與鏈式隊列 隊列可以使用數組實現,也可以使用鏈表實現,用

原创 JVM參數的設置總結

前言 大家都知道,jvm在啓動的時候,會執行默認的一些參數。一般情況下,這些設置的默認參數應對一些平常的項目也夠用了。但是如果項目特別大了,需要增加一下堆內存的大小、或者是系統老是莫明的掛掉,想查看下gc日誌來排查一下錯誤的原因,都需要咱