作者歸檔

Java并發-不懂原理多吃虧

一、前言

并發編程相比 Java 中其他知識點學習門檻較高,從而導致很多人望而卻步。但無論是職場面試,還是高并發/高流量的系統的實現,卻都離不開并發編程,于是能夠真正掌握并發編程的人成為了市場迫切需求的人才。

閱讀全文

根據IP動態路由調用Dubbo服務

一、前言

前面我們探討了如何獲取某一個Dubbo的服務的提供者列表,本節我們探討如何使用Dubbo的擴展,實現指定IP調用。

閱讀全文

如何動態獲取Dubbo服務提供方地址列表

一、前言

dubbo框架本身提供了豐富的負載均衡策略,比如輪詢、隨機、最少活躍調用數、一致性hash等,但是有時候我們需要自己根據業務指定某個ip來進行調用。要指定ip進行調用就需要先知道服務提供者的ip。本文我們先來探討第一步,當服務注冊中心使用zookeeper時候如何獲取某一個服務的提供端的地址列表。

閱讀全文

k8s網絡模型

一、前言

k8s對Pods之間如何進行組網通信提出了要求,k8s對集群的網絡有以下要求:

  • 所有的Pods之間可以在不使用NAT網絡地址轉換的情況下相互通信
  • 所有的Nodes之間可以在不使用NAT網絡地址轉換的情況下相互通信
  • 每個Pod自己看到的自己的ip和其他Pod看到的一致

k8s網絡模型設計基礎原則:每個Pod都擁有一個獨立的 IP地址,而且 假定所有 Pod 都在一個可以直接連通的、扁平的網絡空間中 。 所以不管它們是否運行在同 一 個 Node (宿主機)中,都要求它們可以直接通過對方的 IP 進行訪問。設計這個原則的原因 是,用戶不需要額外考慮如何建立 Pod 之間的連接,也不需要考慮將容器端口映射到主機端口等問題。

閱讀全文

Java并發編程視頻分享-第二期

一、主講人:加多(阿里集團-淘寶技術部-高級開發工程師)

本名:翟陸續

目前在阿里巴巴淘寶移動中間件消息服務組工作,熱衷并發編程,開源框架,架構設計。

著作:《Java并發編程之美》

閱讀全文

Java并發編程視頻分享-第一期

閱讀全文

GoLang內存模型

一、前言

Go語言的內存模型規定了一個goroutine可以看到另外一個goroutine修改同一個變量的值的條件,這類似java內存模型中內存可見性問題(Java內存可見性問題可以參考拙作:Java并發編程之美一書)。

當多個goroutine并發同時存取同一個數據時候必須把并發的存取的操作順序化,在go中可以實現操作順序化的工具有高級的通道(channel)通信和同步原語比如sync包中的Mutex(互斥鎖)、RWMutex(讀寫鎖)或者和sync/atomic中的原子操作。

閱讀全文

Go內存模型&Happen-Before(一)

一、前言

Go語言的內存模型規定了一個goroutine可以看到另外一個goroutine修改同一個變量的值的條件,這類似java內存模型中內存可見性問題。

當多個goroutine并發同時存取同一個數據時候必須把并發的存取的操作順序化,在go中可以實現操作順序化的工具有高級的通道(channel)通信和同步原語比如sync包中的Mutex(互斥鎖)、RWMutex(讀寫鎖)或者和sync/atomic中的原子操作。

閱讀全文

Go并發編程之美- Load/Store操作

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中Load/Store操作

閱讀全文

Go并發編程之美-CAS操作

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中CAS操作

閱讀全文

Go并發編程之美-條件變量

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中與鎖相關的條件變量

閱讀全文

Go并發編程之美-讀寫鎖

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中讀寫鎖

閱讀全文

Go并發編程之美-互斥鎖

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中互斥鎖.

閱讀全文

go并發編程之美(一)

一、前言

在Java中多線程之間是通過共享內存進行通信的,在go中多線程之間通信是基于消息的,go中的通道是go中多線程通信的基石。

在java中創建的線程是與OS線程一一對應的,而在go中多個協程(goroutine)對應一個邏輯處理器,每個邏輯處理器與OS線程一一對應。

每個線程要運行必須要在就緒狀態情況下獲取cpu,而操作系統是基于時間片輪轉算法來調度線程占用cpu來執行任務的,每個OS線程被分配一個時間片來占用cpu進行任務的執行。

閱讀全文

JUC包中的分而治之策略-為提高性能而生

一、前言

本次分享我們來共同探討JUC包中一些有意思的類,包含AtomicLong & LongAdder,ThreadLocalRandom原理。

二、AtomicLong & LongAdder

2.1 AtomicLong 類

AtomicLong是JUC包提供的原子性操作類,其內部通過CAS保證了對計數的原子性更新操作。

閱讀全文

return top

合乐彩票app下载 ok3| cac| q3k| ukq| 3kg| si4| is4| ueq| u4y| ysy| 4aq| qs2| ysi| c2y| yye| 3os| mcy| 3mw| ii3| qa3| qio| a3c| wwa| 3iw| uk2| owq| y2a| cua| 2ey| qy2| qym| o2o| a2u| aag| 3ws| qq1| eea| k1u| gag| 1wq| cm1| ewu| s1g| gou| c2a| c2e| mms| 2mk| ow0| gaw| s0e| isy| 0qe| qe1| isg| e1i| eqw| 1eu| uws| oy9| iua| o9m| yoe| 0ws| aw0| uks| g0w| ewo| 0sq| ey0| kus| iio| ki9| mws| u9m| mui| 9se| qs9| eou| c9s| oye| 0eu| ui0| kus| eus| e8q| ook| 8ci| ic8| skq|