原创 常用排序算法——插入排序,快速排序,歸併排序,堆排序,計數排序

public class SortTest { public static void swap(int[] nums, int i, int j){ int temp = nums[i]; nums[i] = nums[j]

原创 初始設計模式5——模板方法模式

模板方法模式(Template Method Pattern) 定義一個操作中的算法的框架,而將一些步驟延遲到子類,使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 簡單的說,模板方法模式就是把相關子類都會具有的一些操作封

原创 初始設計模式11——外觀模式

外觀模式Facade Pattern 爲子系統的接口提供一個一致的界面,此模式定義了高層接口,使得這一子系統更加容易使用 簡單地說,就是將一個子系統封裝起來,使用一個外觀類控制外部對系統的訪問 //子系統 pubic class Cla

原创 初始設計模式12——適配器模式

適配器模式Adapter Pattern 將一個類的接口變換成客戶端期待的另一種接口,從而使原本因接口不匹配而無法一起工作的兩個類一起工作 適配器模式主要應用於希望複用一些現存的類,但是接口又與複用環境要求不一致的情況。 //目標角色

原创 初始設計模式6——策略模式

策略模式(Strategy Pattern) 定義一組算法,將它們封裝起來並且使它們可以互相替換,使算法的變化不會影響到高層模塊。 策略模式,簡單地說就是將不同的業務邏輯獨立封裝,使之彼此之間可以替換。 示例代碼: //抽象算法

原创 初始設計模式4——抽象工廠模式

抽象工廠模式(Abstract Factory Pattern) 爲創建一組相關或相互依賴的對象提供一個接口,並且無需指定它們的具體類。 抽象工廠模式是工廠方法模式的升級版本,在有多個業務品種,業務分類時,通過抽象工廠模式產生需要的對象是

原创 初始設計模式2——單例模式

單例模式(Singleton Pattern)是一個比較簡單的模式,它保證一個類只有一個實例,而且自行實例化並向整個系統提供這個實例。 通用代碼: <pre name="code" class="java"><span style="fo

原创 初始設計模式10——中介者模式

中介者模式Mediator Pattern 用一箇中介對象封裝一系列對象交互,使各對象不需要顯示地相互作用,從而使耦合鬆散,可以獨立改變他們之間得交互 //通用抽象中介類 public abstract class Mediator{

原创 初始設計模式8——裝飾模式

裝飾模式Decorator Pattern 動態地給一個對象添加一些額外的職責,就增加功能而言,裝飾模式相對繼承更加靈活。 <span style="white-space:pre"> </span>//基本抽象類 public abs

原创 初始設計模式7——觀察者模式

觀察者模式Observer Pattern 定義對象間一對多的依賴關係,使得每當一個對象改變狀態,所有依賴它的對象都得到通知自動更新 觀察者模式就是當一個對象的變化會引起其他對象變化時,使其他對象依賴於這個對象,當這個對象變化時,更新所有

原创 初始設計模式1——六大設計原則

設計模式是一套由軟件界前輩們總結出的可以反覆使用的編程經驗,旨在提高代碼的可重用性,提高系統的可維護性,以及解決一系列複雜問題。設計模式包括6大設計原則和23種種設計模式。 6大設計原則: 單一職責原則SRP 應該有卻僅有一個原因引起類的

原创 初始設計模式9——代理模式

代理模式Proxy Pattern 爲其他對象提供一種代理以控制對這個對象的訪問。 代理模式簡單的說就是代理類實現被代理類的抽象,並擁有被代理類的引用,通過訪問代理的方法,實際上是訪問被代理類的方法。 //抽象主題類 public int

原创 JAVA多線程框架

JAVA多線程框架 隨着硬件的不斷髮展,多核已經成爲主流,多核環境下的多線程問題也隨之而來,爲了使多線程處理更加方便,JDK1.5新增了多線程框架,相關接口和類主要位於java.util.concurrent包下。 多線程框架中比較重

原创 初始設計模式3——工廠方法模式

工廠方法模式 工廠方法模式,即定義一個用於創建對象的接口,讓子類決定實例化哪個類。 //定義抽象產品類 public abstract class Product{ public abstract void met

原创 SQL基礎

1.數據表創建和管理 SQL 關鍵字不區分大小寫,爲了可讀性高,一般寫成大寫。 創建表,下面語句定義了非空約束,默認值,主鍵和外鍵 CREATE TABLE Person(id INT, schoolid INT, name VARCHA