原创 號段法-生成唯一標識

一.前言:在分佈式高併發環境下,有些時候我們需要生成一些包含業務邏輯性的唯一標識,例如訂單編號:可能由業務字符 +當前時間+唯一字符串 : ZFB:(支付寶)+20200505121212+000001,這個時候就我們需要保證在高併發情況

原创 Oracle數據庫 增刪改查 基礎sql(適用初級入門學者)

1、創建一張測試表 TEST_DEMO CREATE TABLE TEST_DEMO ( ID VARCHAR2(20) NOT NULL PRIMARY KEY, CODE VARCHAR2(20) ,

原创 設計模 式-5.觀察者模式

一.基本概念:當對象間存在一對多關係時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。觀察者模式屬於行爲型模式。 二。介紹: 意圖:定義對象間的一種一對多的依賴關係,當一個對象的

原创 java-基礎-volatile關鍵字的作用與用法

前言: 在學習volatile 關鍵字的時候,我們需要了解什麼是 可見性 ,什麼是 原子操作。 作用: 1.volatile讓變量每次在使用的時候,都從主存中取。而不是從各個線程的“工作內存”。 2.volatile具有synchroni

原创 基於數據庫的方式實現分佈式鎖

一. 基於數據庫實現分佈式鎖 要實現分佈式鎖,最簡單的方式可能就是直接創建一張鎖表,然後通過操作該表中的數據來實現了。 當我們要鎖住某個方法或資源時,我們就在該表中增加一條記錄,想要釋放鎖的時候就刪除這條記錄。 創建這樣一張數據庫表:

原创 分佈式鎖的簡介與作用

一、分佈式鎖背景 a、什麼是鎖? 從使用場景定義:當存在多個線程可以同時改變某個變量時,就需要對變量或代碼塊做同步,使其在修改這種變量時能夠線性執行消除併發修改變量。 鎖的實現方式有多種,只要能滿足所有線程都能看得到這個鎖標記即可。 Ja

原创 設計模式-2.工廠模式

前言:什麼是工廠模式? 工廠模式就是將對象的創建交由工廠來實現,程序只管使用其中具體的方法即可。 我們爲什麼要使用工廠模式? 1.將對象的創建和對象的使用分開,降低耦合度,提供代碼重複利用率; 2.後期對於創建對象的修改成本小。 雖然工廠

原创 java-基礎-LinkedList原理解析

1.在JDK1.8 中 LinkedList 底層結構是雙向鏈表。鏈表結構是邏輯上連續 物理上不一定連續的。 單鏈表結構圖: 當前節點 指向下一個節點 雙鏈表結構圖: 當前節點 指向下一個節點與上一個節點 2.在這裏我們可以看出,鏈表

原创 設計模式-1.單例模式

一、什麼是單例模式 單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱爲單例類的特殊類。通過單例模式可以保證系統中個類只有一個實例而且該實例易於外界訪問,從而方便對實例個數的控制並節約系統資源。如果希望在系統中某個類的對象只

原创 設計模式-4.建造者模式

建造者模式:   建造模式可以將一個產品的內部表象與產品的生成過程分割開來,從而可以使一個建造過程生成具有不同的內部表象的產品對象。當構造方法參數過多時使用建造者模式。 將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的

原创 設計模式-3.策略模式

在講策略模式之前,我們先看一個日常生活中的小例子:   現實生活中我們到商場買東西的時候,賣場往往根據不同的客戶制定不同的報價策略,比如針對新客戶不打折扣,針對老客戶打9折,針對VIP客戶打8折...   現在我們要做一個報價管理的模塊,

原创 04-netty基礎-AIO編程

1.JDK1.7升級了NIO類庫,升級後的NIO類庫被稱爲NIO 2.0,Java 正式提供了異步文件I/O操作,同時提供了與UNIX網絡編程實踐驅動I/O對應的AIO。 2.NIO 2.0引入了新的異步通道的概念,並提供了異步文件通道和

原创 java-基礎-ArrayList原理解析

前言: 一.在其他播客上看到下面這段話,可以說是總結的非常精闢了。讀者們可以仔細品味: ArrayList和LinkedList在性能上各 有優缺點,都有各自所適用的地方,總的說來可以描述如下: 1.對ArrayList和LinkedLi

原创 06-netty入門-爲什麼選擇netty

一.首先我們先說明爲什麼不選擇java原生NIO 1.NIO類庫和API複雜,使用麻煩。 2.需要具備其它的額外技能做鋪墊,例如 熟悉Java多線程和網絡編程。 3.可靠性能力補齊,工作量和難度都很大,例如 客戶端面臨斷重連,網絡閃斷,半

原创 03-netty基礎-NIO編程

1.NIO簡稱: 有人稱之爲New I/O,因爲相對於之前的I/O是新增的。這是官方叫法。但是,更多的人喜歡稱之爲非阻塞I/O(Non-block I/O)。 2.與Socket類和ServerSocket類相對應,NIO提供了Socke