原创 Proxy Pattern 代理模式

代理模式定義:是指爲其他對象提供一種代理,以控制這個對象的訪問。使用代理模式的主要目的有兩個,其一是保護目標對象,其二是增強目標對象。 一、靜態代理 比現在社會上火熱的催婚問題,就可以用代理模式展示出來: 1、定義一個人類接口,內含一個尋

原创 碼雲倉庫使用說明

最近有朋友公司使用碼雲作代碼倉庫,因爲本人一直都是在使用SVN作爲版本控制工具,用起來也習慣了,對於碼雲卻是不怎麼了解。由於朋友的求助,所以就研究了下,在此記錄基本的用法。 由於本人對碼雲沒有什麼研究,能否像SVN一樣作爲版本的控制我也是

原创 反射相關知識梳理

在平時的工作當中,反射用的並不是很多,但在各個框架中卻都能見到它的身影。 一、通過反射獲取類的方式 // 1、通過類名直接獲取 Class c1 = Student.class; // 2、通過對象引用獲取 Class c2 = stu

原创 HashSet源碼解析

通過之前對其他的集合的再讀及整理,HashSet 相對來說就比較簡單了,直接上源碼看下構造函數: public class HashSet<E> extends AbstractSet<E> implements Set<E>, Clo

原创 Delegate Pattern 委派模式

委派模式不屬於GoF 23種設計模式。委派模式的基本作用就是負責任務的派遣和調用,跟代理模式很像,可以看成一種特殊情況下的靜態的全權代理。但是,代理模式注重過程,委派模式注重結果。委派模式在Spring種的應用場景非常多,我們最熟悉的Di

原创 Strategy Pattern 策略模式

策略模式是指定義了算法家族並將其封裝起來,讓它們之間可以相互替換,而不影響使用此算法的用戶。 策略模式的應用場景如下 系統中有很多類,這些類之間區別僅僅在於行爲不同。 一個系統需要動態的在幾種算法中選擇其中的一種來執行。 舉個例子

原创 冒泡排序

今天再來回顧一下冒泡排序。冒泡排序(Bubble Sort) 是一中最基本的算法,也應該是最熟悉和最常見的算法了。何爲冒泡?就像是我們在剛剛打開一瓶雪碧的時候(尤其是你搖晃幾下之後再打開),裏面有非常的氣泡咕嚕咕嚕地冒出來,總體來說是一個

原创 VUE腳手架搭建+Element 組件庫table

由於目前vue的使用率挺高的,所以就基於前後端分離的思想搭建一個vue腳手架項目,並實現一個簡單的表格功能。其中包含的技術點有vue腳手架的搭建、父子組件引用、父子組件之間的傳參以及整合Element UI 組件庫等。 一、vue 腳手架

原创 簡述一條SQL是如何執行的

在我們平時的開發之中,SQL 是避免不了的,隨着工作年限的增加熟練度也是成正比的,但是一條SQL是怎麼執行的卻又可能還不怎麼清楚。 以MySQL爲例大致可以分爲七步: 一、查詢緩存 當我們運行一條SQL語句的時候,首先會查詢緩存中是否有數

原创 觀察者模式Observer Pattern

觀察者模式定義了對象之間的一對多依賴,讓多個觀察者對象同時監聽一個主體,當主體對象發生變化時,它的所有觀察者都會收到通知。觀察者模式也叫發佈訂閱模式,主要用於在關聯行爲之間建立一套觸發機制的場景。 下面通過我們平時最常用的鍵盤鼠標相關的監

原创 IDEA 中導入Eclipse 的 maven 項目,及 IDEA 將SpringBoot 打成 jar 包

背景:本人使用MacBook Air 做開發,內存比較小,只有4G。開始用Eclipse的時候還是非常流暢的,但隨着時間的流逝 Eclipse越來越卡,代碼有變動的情況下,每次保存都需要十秒朝上的事件,對於一名程序員來講,真的是太浪費時間

原创 Adapter Pattern 適配器模式

適配器模式將某個類的接口轉化成客戶端期望的另一個接口表示,目的是消除由於接口不匹配所造成的類的兼容問題,約摸有一種亡羊補牢的感覺。主要分三類:類的適配器模式、對象的適配器模式、接口的適配器模式。 一、類的適配器模式 1、創建原始類 pu