1

偽共享 FalseSharing (CacheLine,MESI) 淺析以及解決方案

起因 在閱讀百度的發號器 uid-generator 源碼的過程中,發現了一段很奇怪的代碼: 這里面有6個看上去毫無作用的volatile long變量(標紅)。如果這是我自己寫的代碼,我肯定會認為是我自己手抖寫多了。 但是作為百度的發號器,開源了這么久,如果是手抖早被fix了。肯定還是有深意的。于 ...

csonezp 發布于 2019-12-07 00:46 評論(0)閱讀(133)
0

【小作業】為NLog自定義LayoutRenderer

長話短說 前文《解剖HttpClientFactory,自由擴展HttpMessageHandler》主要講如何為HttpClientFactory自定義HttpMessageHandler組件, 現在來完成課后的小作業: 將重點日志字段顯示到Nlog的LayoutRenderer上。 本文實現一個 ...

nodotnet 發布于 2019-12-07 00:38 評論(0)閱讀(140)
0

【并發編程】Object的wait、notify和notifyAll方法

本博客系列是學習并發編程過程中的記錄總結。由于文章比較多,寫的時間也比較散,所以我整理了個目錄貼(傳送門),方便查閱。 "并發編程系列博客傳送門" 方法簡介 wait方法 wait方法是Object類中的一個方法,調用這個方法會讓調用線程進入waiting狀態,直到另一個線程調用了當前對象上的not ...

寫代碼的木公 發布于 2019-12-06 21:22 評論(0)閱讀(183)
1

SSO單點登錄思路

SSO (Single Sign On) 什么是單點登錄: 在大型的互聯網公司中會有多個系統, 多個項目, 雖然這些項目都屬于同一家公司, 但是項目本身其實都是獨立的, 那多個系統可不可以實現共享同一份用戶認證數據呢? SSO單點登錄就是做這件事, 各個項目之間彼此相互信任, 在其中任意一個系統中進 ...

賜我白日夢 發布于 2019-12-06 20:31 評論(0)閱讀(568)
0

Redis系列(五):Redis的RESP協議詳解

一、什么是RESP Redis是Redis序列化協議,Redis客戶端RESP協議與Redis服務器通信。Redis協議在以下幾點之間做出了折衷: 簡單的實現 快速地被計算機解析 簡單得可以能被人工解析 二、RESP協議描述 RESP協議在Redis 1.2中引入,但在Redis 2.0中成為與Re ...

toby.xu 發布于 2019-12-06 20:28 評論(0)閱讀(214)
0

mybatis精講(五)--映射器組件

[TOC] 前言 映射器之前我們已經提到了,是mybatis特有的組件: java+xml組合的方式。對于Java類和xml的編寫也很簡單。值得注意的是需要將Java編寫的mapper注冊到mybatis中來。之前的注冊的方式通過xml。到后續通過spirng來管理通過@Mapper就很方便了。 標 ...

煙花散盡13141 發布于 2019-12-06 20:21 評論(0)閱讀(128)
0

一張圖講解單機FastDFS圖片服務器安裝步驟(修訂版)

前面已經講 "一張圖秒懂微服務的網絡架構" ,通過此文章可以了解FastDFS組件中單機安裝流程。 單機版架構圖 以下為單機FastDFS安裝步驟 一、環境準備 CentOS 7.X "libfastcommon" 請采用最新版本, 本次使用最新版本: libfastcommon 1.0.42.ta ...

ysfshine 發布于 2019-12-06 20:16 評論(0)閱讀(228)
0

負數為什么要用補碼來表示?

上篇文章講了“負數在計算機中是怎么存儲的”。看完之后,應該對原碼,反碼,補碼有了基本的了解了。 今天,我們深入探討一下,為什么計算機中要用補碼來表示負數? 首先,我們應該清楚,原碼是方便給人看的。看到一個數的原碼,我們就能根據符號位和后邊的二進制位,計算出這個數的實際值。為了簡單起見,我以一個字節8 ...

starry_skys 發布于 2019-12-06 19:00 評論(0)閱讀(272)
0

node.js多進程架構

node.js是單進程應用,要充分利用多核cpu的性能,就需要用到多進程架構。 作為web服務器,不能多個進程創建不同的socket文件描述符去accept網絡請求, 有經驗的同學知道,如果端口被占用了,再跑一個監聽該端口的服務就會報EADDRINUSE異常。那么問題來了,多進程架構如何去解決這個問 ...

kingsonCai 發布于 2019-12-06 18:56 評論(0)閱讀(211)
0

常用文本處理命令

[TOC] Linux中很多文本工具都使用到了正則表達式,正則表達式可以極大的簡化linux系統管理工作,因為網上有很多正則相關的教程,所以這里不再講述,我當時看的是菜鳥的 "正則表達式" ,看個一下午在實驗幾遍基本就會了,除了正向肯定預查,反向肯定預查這幾個比較復雜一些,其他都是非常簡單的,很多時 ...

陳芳志 發布于 2019-12-06 18:43 評論(2)閱讀(198)
1

你真的了解foreach嗎?

有C#基礎的,當問到循環有哪些,會毫不猶豫的說出的for、do while、foreach及while這幾種,但是到具體實際開發中,我們遇到一些問題,比如:到底選擇哪種?為什么選擇這種?哪種好像都可以?,其實在大多數情況下基本上可以通用,但是遇到比如Dictionary <[key] , [valu... ...

愛在846 發布于 2019-12-06 18:21 評論(6)閱讀(400)
0

以Python為例的Async / Await的編程基礎

來源:Redislabs 作者:Loris Cro 翻譯:Kevin (公眾號:中間件小哥) 近年來,許多編程語言都在努力改進它們的并發原語。Go 語言有 goroutines,Ruby 有 fibers,當然,還有 Node.js 幫助普及的 async/await,這是當今使用最為廣泛的并發操作 ...

中間件小哥 發布于 2019-12-06 17:44 評論(0)閱讀(207)
0

NIO-Buffer

Buffer是NIO用于存放特定基元類型數據的容器。緩沖區是特定基元類型的元素的線性有限序列。 ...

杰哥很忙 發布于 2019-12-06 17:29 評論(0)閱讀(112)
4

C# Lazy Loading

前言 按需加載對象延遲加載實際是推遲進行創建對象,直到對其調用后才進行創建初始化,延遲(懶加載)的好處是提高系統性能,避免不必要的計算以及不必要的資源浪費。 常規有這些情況: 對象創建成本高且程序可能不會使用它。 例如,假定內存中有具有 Orders 屬性的 Customer 對象,該對象包含大量 ...

HueiFeng 發布于 2019-12-06 17:17 評論(0)閱讀(506)
1

【一起學設計模式】命令模式+模板方法+工廠方法實戰: 如何優雅的更新商品庫存...

前言 之前在我的博客([一枝花算不算浪漫][1])中已經更新過兩篇設計模式相關的內容 [【一起學設計模式】策略模式實戰一:基于消息發送的策略模式實戰][2] [【一起學習設計模式】策略模式實戰二:配合注解 干掉業務代碼中冗余的if else...][3] [【一起學設計模式】訪問者模式實戰:權限管理 ...

一枝花算不算浪漫 發布于 2019-12-06 17:09 評論(4)閱讀(275)
1

CSS 了解一下

CSS 認識一下 1、CSS 的那些事 CSS(Cascading Style Sheets)譯「 層疊樣式表 」,我的理解是: 各種樣式疊加的表 。 一個網頁,如果沒有 CSS,就是穿著“國王的新衣”,在裸奔!CSS 的重要性不言而喻! 作為 HTML 的衣服,CSS 為 HTML 元素提供了一種 ...

我是玖柒后 發布于 2019-12-06 17:06 評論(0)閱讀(216)
0

Coroutines in Android - One Shot and Multiple Values

在Android中, 我們用到的數據有可能是一次性的, 也有可能是需要多個值的. 本文介紹Android中結合協程(coroutines)的MVVM模式如何處理這兩種情況. 重點介紹協程`Flow`在Android中的應用. ...

圣騎士wind 發布于 2019-12-06 17:05 評論(0)閱讀(79)
0

nginx中proxy_pass小斜杠

nginx中proxy_pass小斜杠 1. 故事背景 相信做微信公眾號開發的朋友都知道,要想在微信中預覽效果,必須使用域名訪問.很多朋友使用內網穿透工具.不僅不好用還不穩定.所以,發揮臉厚吃天下的態度,向公司it申請了一個子域名指向了阿里云一臺ecs的80端口.可是后來,端口不夠用了.本著就近原則 ...

_herbert 發布于 2019-12-06 16:43 評論(2)閱讀(215)
0

AutoCAD ObjectARX 二次開發(2020版)--4,使用ARX向導創建CAD二次開發項目(編程框架)--

手動創建ObjectARX應用程序非常麻煩,在此步驟中,將介紹ObjectARX向導。 在這里,我們將使用ObjectARX向導創建我們的ObjectARX應用程序。 本節的程序的需求是,接收CAD用戶的輸入。 首先,打開VS2017,新建項目 在左邊的樹形目錄里依次選擇 Visual C++ -- ...

sn-Cloud 發布于 2019-12-06 16:19 評論(0)閱讀(164)
3

[從今天開始修煉數據結構]樹,二叉樹,線索二叉樹,霍夫曼樹

前面我們已經提到了線性表,棧,隊列等數據結構,他們有一個共同的特性,就是結構中每一個元素都是一對一的,可是在現實中,還有很多一對多的情況需要處理,所以我們需要研究這種一對多的數據結構 —— 樹,并運用它的特性來解決我們在編程中遇到的問題。 一、樹的定義 1,樹Tree是n(n >= 0) 個結點的有 ...

Joey777210 發布于 2019-12-06 15:35 評論(0)閱讀(313)
ag二分彩