原创 多線程--基礎篇4--其他

線程的基本概念:線程指在程序執行過程中,能夠執行程序代碼的一個執行單位,每個程序至少都有一個線程,也就是程序本身。 Java中的線程有四種狀態分別是:就緒、運行、掛起、結束。 設置線程的名字: new Thread(i,"shixin1"

原创 設計模式2--工廠方法模式(Factory Method)

工廠方法模式的本質:延遲到子類來選擇實現package com; public interface Api { void opreation(String s); }package com.impl;

原创 設計模式12--代理模式(Proxy)

代理模式的本質:控制對象訪問 模式定義:爲其他對象提供一種代理以控制對這個對象的訪問。 1 虛代理:根據需要來創建開銷很大的對象,改對象值有在需要的時候纔會被真正創建。 package com; public interface Use

原创 設計模式10--原型模式(Prototype)

原型模式的本質:克隆生成對象 模式的定義:用原型實例指定創建對象的種類,並通過拷貝這些原型創建新的對象。 package com; public interface OrderApi { int getOrderProductNu

原创 敏捷中不能說的祕密

                                                                                                                       

原创 設計模式6--外觀模式(Facade)

外觀模式的本質:封裝交互,簡化調用package com; public interface AModelApi { void testA(); }package com.impl; import

原创 設計模式11--中介者模式(Mediator)

中介者模式的本質:封裝交互 模式定義:用一箇中介對象來封裝已係列的對象交互。中介者使得各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變他們之間的交互。 package com.impl; public class Dep

原创 設計模式14--命令模式(Command)

命令模式的本質:封裝請求 /* * 命令接口,聲明執行的操作 */ public interface Command { /** * 執行命令對應的操作 */ public void execute(); }/**

原创 設計模式13--觀察者模式(Observer)

觀察者模式的本質:觸發聯動 當一個對象的狀態發生改變的時候,如何讓依賴它的所有對象得到通知,並進行相應的處理呢? 觀察者模式的定義:定義對象間的一種一對多的依賴關係。當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新。

原创 設計模式4.1--回調技術實現模板方法模式

package com; /* * 模板操作類 */ public class LoginTemplate { //骨架 public boolean login(LoginModel inputUser,LoginCallbac

原创 設計模式3--抽象工廠模式(Abstract Factory)

抽象工廠模式的本質:選擇產品簇的實現package com; public interface CPUApi { void calculate(); } package com.impl; impor

原创 設計模式7--適配器模式(Adapter)

適配器模式的本質:轉換匹配,複用功能/* * 已經存在的接口,這個接口需要被適配 */ package com.impl; public class Adaptee { /* * 示意方法,原

原创 設計模式8--單例模式(Singleton)

單例模式的本質:控制實例數目 單例模式的定義:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 懶漢式: public class Singleton { //4.定義存儲實例的屬性 //5.把這個屬性也定義成靜態的 priv

原创 設計模式9--生成器模式(Builder)

生成器模式的本質:分離整體構建算法和部件構造 模式定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 package com; public class Product { } package com;

原创 排序3--合併(分治法)

public class DataFactory { public static int[] produceData(int num) { int data[] = new int[num]; for (int i = 0; i