原创 用Go語言實現一個緩存器

Go語言的源碼閱讀 1、Cache的底層實現 package cache2go import ( "sync" "time" ) // CacheItem is an individual cache item // Param

原创 Go語言中的切片

Go語言中的切片 //創建一個長度和容量都是0 的切片 //創建一個空切片的3種方式 //第一種:創建nil整型切片 var slice []int fmt.Println(cap(slice)) //第二種:使用make創建

原创 Go語言市如何保證高併發的?

1、前戲 什麼市CSP? 當進行和G語言有關的討論的時候,你會經常聽到人們拋出CSP這個縮寫。在某些環境下CSP經常被讚美成Go語言成功的原因已經併發編程的“萬能鑰匙”。 那麼,CSP到底是什麼?爲什麼讓人們如此興奮呢? CSP即“Com

原创 爲什麼開始學習GO言語

目錄 一、我爲什麼要學習GO語言? 1、接觸了Go語言編寫的程序 2、工作中遇到高併發的問題 二、Go語言有什麼競爭優勢? 1、Go語言開發速度更快、更容易,同時可以獲得媲美C語言的高性能; 2、快速編譯;  3、自由高效:組合的思想、無

原创 用CyclicBarrier聊聊趙匡胤建立北宋,一統天下的過程

一個同步輔助類,它允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。 在涉及一組固定大小的線程的程序中,這些線程必須不時地互相等待,此時 CyclicBarrier 很有用。 因爲該 barrie

原创 kubernetes入門教程

1、虛擬化技術時雲技術的基礎。 2、應用的容器化,呼喚容器編排技術的出現。 3、2015年7月k8s1.0版本發佈,佔有80%的市場。 4、kubernetes物理上採用Master/node的形式,master一般有3個,Node數量不

原创 CAS是什麼?AtomicInteger爲什麼使用CAS? AtomicInteger的底層原理是什麼?

1、CAS   即 Compare -And- Swap   比較並交換; 2、 通過AtomicInteger.compareAndSet();方法能夠解決多線程模式下i++計算結果出現的數據不一致的問題。 /** * @progr

原创 ArrayList線程不安全,如何改進?CopyOnWriteArrayList

  1、ArrayList線程不安全測試代碼 public class testArrayListUnsafe { public static void main(String[] args) { List<S

原创 HashMap是線程不安全的?證明它,並提出線程安全的解決辦法!

1、線程不安全的例子 public class testHashMapUnsafe { public static void main(String[] args) { HashMap<String,Objec

原创 源碼分析之WebSocketHandshake

一、基礎知識 1、英語補習 Algotithm 算法;   verify  驗證;  split 裂解。 2、使用websocket交互流程 客戶端與服務端連接成功之前,使用的通信協議是 HTTP。連接成功後,使用的纔是 WebSocke

原创 spring cloud + kubeedge

序言 最近公司在做邊緣計算相關的事情,讓我負責雲平臺的開發。雲邊協同使用的是華爲開源的kubeedge,爲了更好的支持雲平臺開發,我開始自己開發基礎框架:spring cloud kubeedge。 第一節 :爲何要開發這個框架 華爲的k

原创 自旋鎖的實現

1、請自己寫一個自旋鎖。 OK,不僅寫好了;而且驗證一遍。 /** * @program: mybatis * @description: 自己實現一個自旋鎖 * @author: Miller.FAN * @create: 2

原创 面向切面編程Spring

最近在學習面向切面編程,把一個Dome貼出來,大家一起學習。 1、定義一個目標,這裏使用接口。 package com.miller.emperor.aspects; //切面中切面的目標對象 public interface Per

原创 spring 條件化的bean

1、假設你希望一個bean只有在應用的類路徑下包含特定的庫時才創建。或者希望某個bean只有在另外的特定的bean也聲明瞭之後才創建。還可以設置某個特定的環境變量設置之後,纔會創建某個bean。 2、什麼地方會用到呢? 當創建bean是附

原创 Python之經典案例---撲克發牌程序

目錄   1、 用Card類表示一張牌 2、 用Hand表示一個牌手(玩家) 3、用poke類表示一幅牌,可以看做擁有全部54張牌的牌手 4、發牌主程序 5、測試結果 1、 用Card類表示一張牌 # 一張牌的抽象 class Card