原创 Spring bean 創建過程源碼解析

前言 在上一篇文件 Spring 中 bean 註冊的源碼解析 中分析了 Spring 中 bean 的註冊過程,就是把配置文件中配置的 bean 的信息加載到內存中,以 BeanDefinition 對象的形式存放,該對象中存放了 be

原创 Spark 源碼分析之ShuffleMapTask處理

Spark 源碼分析之ShuffleMapTask處理 更多資源 SPARK 源碼分析技術分享(bilibilid視頻彙總套裝視頻): https://www.bilibili.com/video/av37442139/ github

原创 hadoop安裝步驟

1.下載安裝包(下載地址可網上查找,還要安裝jdk,網上都有,在這就不列舉了,這裏用的是hadoop 3.1.1版本) 2.配置環境變量,並讓它生效,執行命令 source  /etc/profile JAVA_HOME=/usr/jav

原创 Netty NioEventLoop 啓動過程源碼分析

前面 ,我們分析了NioEventLoop的創建過程,接下來我們開始分析NioEventLoop的啓動和執行邏輯。 Netty版本:4.1.30 啓動 在之前分析 Channel綁定 的文章中,提到過下面這段代碼,先前只講了 chan

原创 深入Redis持久化

一、Redis高可用概述 在介紹Redis高可用之前,先說明一下在Redis的語境中高可用的含義。 我們知道,在web服務器中,高可用是指服務器可以正常訪問的時間,衡量的標準是在多長時間內可以提供正常服務(99.9%、99.99%、99.

原创 前端安全系列之二:如何防止CSRF攻擊?

背景 隨着互聯網的高速發展,信息安全問題已經成爲企業最爲關注的焦點之一,而前端又是引發企業安全問題的高危據點。在移動互聯網時代,前端人員除了傳統的 XSS、CSRF 等安全問題之外,又時常遭遇網絡劫持、非法調用 Hybrid API 等新

原创 dubbo 超時設置和源碼分析

在工作中碰到一個業務接口時間比較長,需要修改超時時間,不知道原理,在網上搜索,看到有人說如果你覺得自己瞭解了dubbo的超時機制,那麼問問自己以下問題: 超時是針對消費端還是服務端? 超時在哪設置? 超時設置的優先級是什麼? 超時的實現原

原创 簡單說說Kafka中的時間輪算法

零、時間輪定義 簡單說說時間輪吧,它是一個高效的延時隊列,或者說定時器。實際上現在網上對於時間輪算法的解釋很多,定義也很全,這裏引用一下朱小廝博客裏出現的定義: 參考下圖,Kafka中的時間輪(TimingWheel)是一個存儲定時任務的

原创 HashSet 源碼分析

本文將從以下幾個方面介紹 前言 HashSet 的特定 類圖 源碼分析 HashSet 如何保證元素的不重複 總結 前言 在工作中,經常有這樣的需求,需要判斷某個ID是否在某個組的管理之下等,就需要查詢該組下的ID放到一個集合中,且集合

原创 RocketMQ源碼:有序消息分析

本文主要分析RocketMQ中如何保證消息有序的。     RocketMQ的版本爲:4.2.0 release。 一.時序圖     還是老規矩,先把分析過程的時序圖擺出來:     1.Producer發送順序消息      

原创 DevOpsDays

原创 用網關zuul時,熔斷hytrix裏面的坑

1,zuul 默認的隔離級別是信號量,默認最大隔離信號量是100 信號量隔離和線程池隔離的區別如下: https://my.oschina.net/u/867417/blog/2120713  默認設置:     2,zuul裏隔離

原创 從源碼分析如何優雅的使用 Kafka 生產者

前言 在上文 設計一個百萬級的消息推送系統 中提到消息流轉採用的是 Kafka 作爲中間件。 其中有朋友諮詢在大量消息的情況下 Kakfa 是如何保證消息的高效及一致性呢? 正好以這個問題結合 Kakfa 的源碼討論下如何正確、高效的發送

原创 併發編程之AQS(AbstractQueuedSynchronizer)

簡介 AbstractQueuedSynchronizer,簡稱AQS。AQS定義了一個抽象的隊列來進行同步操作,很多同步類都依賴於它,例如常用的ReentrantLock/Semaphore/CountDownLatch等 每個nod

原创 聊聊LinkedHashMap

LinkedHashMap簡介 LinkedHashMap是一個根據某種規則有序的hashmap。根據名字,我們也可以看出這個集合是有hash散列的功能的同時也有順序。hashmap是無法根據某種順序來訪問數據的,例如放入集合的元素先後的