原创 Spring註解版之組件註冊

在spring註解版中用java類代替了以前的配置文件,只需要在普通java類上添加註解@Configuration即可標註它是一個配置類。 @Configuration public class MainConfig{ } 1.將

原创 SpringBoot之Hello World

SpringBoot是爲了更快更方便開發Spring應用程序而誕生的,它簡化了Spring中各種繁瑣的配置,而是改用默認的自動配置方式,使用SpringBoot可以快速的搭建web應用程序,因此它十分適合構建微服務。 本次使用id

原创 java虛擬機學習總結之對象的創建

對象的創建 在java中對象的創建有很多種方式,不管使用哪種方式創建對象經歷的過程基本上都是一樣的,本次以java中使用最多的new關鍵字創建對象爲例,詳細解析對象的整個生命週期。 Test test = new Test() 類

原创 java版排序算法之堆排序

最大堆(最小堆) 堆的本質是一棵完全二叉樹,該樹使用數組實現(下標爲零的位置不存儲元素),由於是完全二叉樹所以樹的父節點和子節點之間的關係可以表示爲:給定索引k,其父節點爲k/2向下取整,子節點爲2k和2k+1。 最大堆表示數組中第

原创 java虛擬機學習總結之GC回收算法與GC收集器

jvm中主要使用的算法有四種,分別爲標記清除算法、複製算法、標記整理算法、分代收集算法,基於這些算法實現了很多種垃圾收集器,HotSpot虛擬機中使用這四種算法實現了7種垃圾收集器,分別爲Serial收集器、ParNew收集器、Pa

原创 java虛擬機學習總結之jvm的組成

jvm簡介 jvm全稱爲java虛擬機,是一款用來解析class文件的軟件,它在計算機中作爲一個單獨的進程存在,jvm將其管理的內存劃分爲多個區域,其中最主要的區域爲運行時數據區域,這個區域主要由虛擬機棧、本地方法棧、堆、程序計數器

原创 java版排序算法之歸併排序

公共方法merge merge方法提供了給定一個數組a、最低位low、中間位mid和最高位high作爲參數,該方法會將該數組按照歸併的方式排序,其主要思想爲創建一個輔助數組aux,將a中的數據全部複製到aux中,通過mid將aux分

原创 java版排序算法之快速排序

快速排序的思想 快速排序是通過切分的方式將大數組切分爲左右兩個子數組,分別對兩個子數組進行遞歸的切分,當左右兩個子數組都有序時整個數組便有序了。 代碼實現 public class QuickSort{ public st

原创 java版排序算法之選擇排序、插入排序、希爾排序

選擇排序 選擇排序的思想 1.假定第i(i指數組中第i個數的下標)個數爲數組中的最小數,將其下標值賦值給min 2.循環遍歷i後面的數字,每次遍歷時比較當前遍歷值與min下標中的值的大小,如果小於於則將其下標賦值給min 3

原创 java源碼閱讀總結之Object

Object類介紹 在java中Object類是所有類的父類,它定義了所有java類都應該存在的方法,所有創建的類都會默認繼承該類,該類位於java.lang包之中。 Object類中的屬性 //在C中對聲明爲native的方法進行註

原创 java版數據結構學習總結之線性表

線性表定義 多個元素組成的有限序列 第一個元素無前驅元素,最後一個無後繼元素,剩餘元素有且只有一個前驅和一個後繼 存儲方式有順序存儲和鏈式存儲 數據類型定義 /** * 數據類型類,其中可包括任意類型 * */ public

原创 使用eclipse搭建ssh(Struts2+Hibernate+Spring)框架項目附源碼

第0步:在eclipse中配置好java和tomcat 第1步:打開eclipse,單擊右鍵–》new–》Dynamic Web Project,輸入項目名稱後一直點擊next到最後一步,勾選創建web.xml後點擊finish,主要的

原创 MarkdownPad2的安裝與破解(附軟件鏈接)

MarkdownPad2能做什麼 MarkdownPad是Windows下的一個多功能Markdown編輯器。即時看到你的Markdown文件,當你創建它們的時候,看起來就像是在HTML中的一樣。當您輸入時,LivePreview會自動

原创 使用eclipse搭建ssm(Spring+SpringMVC+Mybatis)框架項目附源碼

第一步:打開eclipse,單擊右鍵–》new–》Dynamic Web Project,輸入項目名稱後一直點擊next到最後一步,勾選創建web.xml後點擊finish,主要的目錄爲圖中選中的三部分。 第二步:複製spring、sp

原创 java版數據結構學習總結之棧

棧的定義 只允許線性表在固定的一端進行插入和刪除元素操作即爲棧 是一種後進先出的數據結構 每個節點有且只有一個前驅節點和一個後繼節點 使用線性存儲結構實現 //Stack接口中定義了棧的公共操作方法 public class Or