原创 “鎖”的性能和優化

一、死鎖 關於死鎖,無外乎,對線程資源的爭搶,線程之間相互等待對方釋放資源,從而導致等待的一種情況。 出現死鎖的條件在於: ①互斥條件:一個資源每次只能被一個進程使用 ②請求和保持條件:一個線程因爲請求資源的時候導致阻塞,也就是無法請求到其

原创 線程池學習

一、常見的不同特性的線程池返回方法 1、newFixedThreadPool() : 這個方法返回一個固定大小的線程池,當新的任務提交,如果線程池中有空閒線程,那麼使用線程池中的線程,如果沒有,則將新的任務加到任務隊列中去。 2、ne

原创 基本語法1

/**********************hello go************************************/ package main import "fmt" func main() { var nam

原创 常見程序性能優化技巧

一、慎用異常 在java開發中,try-catch語句對系統性能而言有時候是非常糟糕的,比如: int a = 0; for(int i = 0 ; i<100000;i++){ try{

原创 go的hello world

go語言特性: 自動垃圾回收 更豐富的內置類型 函數多返回值 錯誤處理 匿名函數和閉包 類型和接口 併發編程 反射 語言交互性 一、運行環境下載與安裝 也就一個普通軟件的下載安裝步驟 下載地址:https://golang.google

原创 字符串優化處理

一、String對象及其特點 1、String對象的基本實現:char數組、偏移量、String的長度 2、JAVA的設計者對String作了三個優化: ①不變性: 也就是說一個String對象創建以後就不再發生變化,在這個對象被多線程共享

原创 裝飾器模式

一、什麼是裝飾器模式? 也就是對某一業務進行裝飾,不同的裝飾器分爲不同的組件,互相不牽制,都是爲了裝飾某一共同業務。 用代碼實踐比較容易明白 二、代碼demmo 首先得清楚裝飾器模式的四大組件: ①組件接口 /** * @Author :

原创 享元模式

一、什麼是享元模式? ① 存在的意義: 如果一個系統中存在着很多個業務都會去調用同一類的業務實例,那麼每次調用都會創建實例,顯而易見,這對GC的壓力是非常大的。 ② 實現過程: 通過對同一類業務實例進行封裝,使用“享元工廠”對“抽象享元”的

原创 事務的理解

一、事務 什麼是事務? 事務就是一系列對數據庫操作的語句集合,它是對數據庫操作的最小邏輯單元,在數據庫中,事務主要是解決:原子性、一致性、隔離性、持久性四大問題。 何爲原子性、一致性、隔離性、持久性? “原子性”:失敗即回滾 “一致性”:我

原创 關於TCP連接與關閉的問題總結

首先介紹一下TCP連接三次握手和四次揮手 一、TCP三次握手 假如是客戶端向服務端建立連接 ①第一次握手: 客戶端發送一個 SYN 包(這個SYN包包括:seq = x)給服務端,進入“SYN_SEND”狀態。 ②第二次握手:服務端收到SY

原创 原型模式

原型模式就是將對象複製一份,分爲淺克隆和深克隆 一、要點 1、必須實現Cloneable接口才能實現克隆 2、淺克隆只克隆對象對象引用,不克隆成員變量對象的引用。 3、深克隆不僅僅會克隆引用,而且會克隆成員變量對象的引用,克隆成一個新的引用

原创 設計模式之“生成器模式Builder”

一、概述 在通常情況下,我們調用有參或者無參構造函數來直接實例化對象,那樣的參數定製都通過有參構造的順序定的死死的,往往不能夠滿足一些需求。 所謂生成器,其實也就是把類的構造拆分,把一個類的許多參數都可以通過get set方法來讓類的使用者

原创 設計模式之“單例模式”

瞎述 作爲java工程師,設計模式相當於一個禮儀文化,善於利用禮儀文化的人,無論從哪方面講都是讓人覺得安逸。 --------------------設計模式主要分爲:創建型、結構型、行爲型----------- (一)所謂創建型,就包括:

原创 設計模式之“工廠模式”

接上一篇“設計模式之單例模式”,本片主要簡述工廠模式 二、工廠模式 簡單工廠模式其實就是一個解耦的過程,當調用接口方(我們稱客戶端),要使用由接口創建方(服務端)創建的接口實現,同一個父接口下,可能會有不同的接口實現,當客戶端使用這些子類實

原创 設計模式之“工廠方法模式”與抽象工廠模式

相較於“簡單工廠模式”,“工廠方法模式”是將實例化對象的操作延遲到了子類去實現,而前者是另起一個類去實現。 三、工廠方法 一個小demo理解工廠方法: ①產品(某一類型): 定義產品的接口 public interface Product