原创 用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