原创 JAVA常用排序算法之冒泡排序

JAVA常用排序算法之冒泡排序。 冒泡排序,顧名思義就是像氣泡一樣將大的數據一個一個地升上來。 具體的思路如下:將相鄰的兩個元素進行比較,將大的往後排,第一遍之後最大的就在最後面。除了最後一個元素,再進行上述的比較,直到只剩一個元素爲止。

原创 java常用排序之希爾排序

JAVA常用排序算法之希爾排序 希爾排序是直接插入排序的一種改進,這是一種不穩定的算法。 具體的實現方式如下:設定增量,讓兩個數字進行比較,然後調換位置。舉個例子,32,15,78,24,22,78,11先設置增量爲3,那麼就是將32和2

原创 JAVA常用排序算法之簡單選擇排序

JAVA常用排序算法之簡單選擇排序。 常用於取序列最大與最小的幾個數時,這是一種不穩定的排序算法。當i=1時,需要進行n-1次比較,當i=2時,需要進行n-2次比較,依次類推,共需要(n-1)+(n-2)+…+2+1=n(n-1)/2次比

原创 java設計模式之模板方法模式

模板方法模式 和策略模式類似 通過抽象類定義一個抽象方法和非抽象方法 子類繼承抽象類後實現抽象方法 通過改變抽象類的引入來改變調用的方法 將方法都放在抽象類中最好還是面向接口編程 public abstract class Ab

原创 java設計模式之狀態模式

設計模式之狀態模式:核心思想是當對象的狀態改變時 同時改變其行爲 狀態模式既可以通過改變狀態來獲得不同的行爲 好友能看到你的變化 代碼層面上說 需實體類持有狀態類的一個實例(複雜一點的也可以通過互相持有對方的一個實例來實現)

原创 java設計模式之策略模式

策略模式:一系列的算法 將每個算法封裝起來 使他們可以相互替換 需要設計一個接口 爲這個一系列實現類提供統一的方法 多個實現類實現該接口 設計一個抽象類 提供輔助函數 在使用的過程中可以適配改換算法 interface ICalc

原创 java設計模式之橋接模式

橋接模式 把事物和具體的實現分開 將抽象與實現化解耦 使得二者可以獨立變化 對於很多統一對外的接口 習慣上會多封裝一層便於理清抽象邏輯 public class Bridge { private Sourceable source

原创 java設計模式之靜態工廠模式

工廠模式是常用的一種設計模式,靜態工廠模式是其中比較常用的一種,不需要實例化便可以用統一的出口產生類。 public class FactoryMethod { private FactoryMethod() { } p

原创 java設計模式之單例模式

單例模式:保持某個類一直只有一個實例化 能夠節約資源 以下是較好的一種單例模式實例 class Private { private Private() { } private static class PrivateBu

原创 java設計模式之proxy代理模式

proxy代理模式 多一個代理類出來 替原對象完成一些功能 public class Proxy implements Sourceable { private Source source; public Proxy()

原创 java設計模式之外觀模式

外觀模式又被稱爲Facade模式,解決類之間的耦合,將所有的類的關係放置在一個Facade類中 public class Facade { public static void main(String[]args){ Co

原创 java設計模式之裝飾器模式

裝飾器模式 裝飾器模式: 是給一些對象增加一些新的功能 並且是動態的 要求裝飾對象和被裝飾對象實現同一接口 裝飾對象持有被裝飾對象的實例 public class Decorator implements Sourceable {

原创 java設計模式之適配器模式

適配器模式:是指通過適配器類,將原有的類能夠適配給第三方使用 該模式是很多設計模式的基礎 類的適配器模式 適配器模式是爲了將某個類的接口轉換成客戶端期望的另一個接口表示 public class ClassAdapter {

原创 java常用排序算法之堆排序

JAVA常用排序算法之堆排序   算法的平均時間複雜度爲O(n×log(n)) 實現的代碼如下:   package com.beibei.risk.sort; /** * desc:堆排序算法,使用大根堆 * Created b

原创 git checkout分支踩坑記錄

git簡介 遠程倉庫 本地倉庫 緩存區 工作區 git的倉庫分爲遠程倉庫和本地倉庫,作爲分佈式的管理系統,本地倉庫和遠程倉庫都可以進行版本管理。此外在進行開發時,還有一個本地工作區和緩存區。 git版本切換 git版