原创 到底爲什麼阿里巴巴要禁用 Executors 創建線程池呢?

看阿里巴巴開發手冊併發編程這塊有一條:線程池不允許使用Executors去創建,而是通過ThreadPoolExecutor的方式,通過源碼分析禁用的原因 寫在前面 首先感謝大家在蓋樓的間隙閱讀本篇文章,通過閱讀本篇文章你將瞭解到:

原创 對限頻限流的思考

ntro1 :限流的常見實現方式及常見開源限流組件有注意點 intro2 : 你真的理解了漏桶和令牌桶限流算法嗎,劃分/區分二者科學嗎 intro2 : 你知道限流保障服務可用時也可能導致其他服務不可用嗎 早先看到朋友圈分享限頻限流的文章

原创 一起來聊聊 DelayQueue

DelayQueue可以實現在時間上的排序,這個DelayQueue能實現按照在裏面等待的時間來進行排序。 import java.util.Calendar; import java.util.Random; import java.

原创 說了這麼多次 I/O,今天帶你瞭解其中的原理

IO 軟件原理 I/O 軟件目標 設備獨立性 現在讓我們轉向對 I/O 軟件的研究,I/O 軟件設計一個很重要的目標就是設備獨立性(device independence)。啥意思呢?這意味着我們能夠編寫訪問任何設備的應用程序,而不用事先

原创 看完這篇還不懂Redis的RDB持久化,你來打我

一、爲什麼需要持久化 redis裏有10gb數據,突然停電或者意外宕機了,再啓動的時候10gb都沒了?!所以需要持久化,宕機後再通過持久化文件將數據恢復。 二、優缺點 1、rdb文件 rdb文件都是二進制,很小。比如內存數據有10gb,r

原创 這可能是全網最全、最細的一篇微服務架構文章了

本文將介紹微服務架構和相關的組件,介紹他們是什麼以及爲什麼要使用微服務架構和這些組件。本文側重於簡明地表達微服務架構的全局圖景,因此不會涉及具體如何使用組件等細節。 要理解微服務,首先要先理解不是微服務的那些。通常跟微服務相對的是單體應用

原创 深入淺出數據庫事務和4種隔離級別

三種bug: 髒讀: 例:insert into T values (4, '牛D');,然後沒commit。 其他進程SELECT讀取到的數據是未commit的數據。(數據庫只修改了內存沒修改外存) 不可重複讀: 例:一個事務範

原创 驚呆了!xx.equals(null) 是什麼騷操作?

問題背景 我的天,最近做 Code Review 看到一個同事的騷操作,他寫了一個工具類,大概是這樣的: public static boolean isNull(Object object){     return null == o

原创 一篇文教你在 Java 中利用 redis 實現分佈式全局唯一標識服務

獲取全局唯一標識的方法介紹 在一個IT系統中,獲取一個對象的唯一標識符是一個普遍的需求。在以前的單體應用中,如果數據庫是一個單數據庫的結構。通常可以利用數據庫的自增字段來獲取這個唯一標識。 例如,在 Mysql 數據庫中,我們可以通過 s

原创 一篇文教會你IDEA類和方法註釋模板設置

 IDEA自帶的註釋模板不是太好用,我本人到網上搜集了很多資料系統的整理了一下製作了一份比較完整的模板來分享給大家,我不是專業玩博客的,寫這篇文章只是爲了讓大家省事。 這裏設置的註釋模板採用Eclipse的格式,下面先貼出Eclipse的

原创 一線大廠的分佈式唯一ID生成方案是什麼樣的?快來看看吧

一、前言 分佈式系統中我們會對一些數據量大的業務進行分拆,如:用戶表,訂單表。因爲數據量巨大一張表無法承接,就會對其進行分庫分表。 但一旦涉及到分庫分表,就會引申出分佈式系統中唯一主鍵ID的生成問題,永不遷移數據和避免熱點的文章中要求需要

原创 阿里P7架構師:刷3遍以下面試題,你也能從小公司成功跳到大廠

又到快了面試求職高峯期,相信有很多網友都在求大廠面試題。正好之前我有整理過這方面的資料,在這裏和大家分享一下,供大家查漏補缺和學習。這些題目是網友去阿里、百度、小米、樂視、美團、58、、新浪、搜狐等一線互聯網公司面試被問到的題目。熟悉本文

原创 華爲架構師的Netty進階之路:跟着案例學Netty

在本書中,作者將在過去幾年實踐中遇到的問題,以及Netty 學習者諮詢的相關問題,進行了歸納和總結,以問題案例做牽引,通過對案例進行剖析,講解問題背後的原理,並結合Netty源碼分析,讓讀者能夠真正掌握Netty,在實際工作中少犯錯。 本

原创 學Redis,這些數據類型的總結不能不看!

這篇文章主要來總結一下Redis中的數據類型,String,Hash,List。 1. String類型及操作 String是最簡答的類型,一個key對應一個value,String類型是二級制安全的,redis的String可以包含任何

原创 Java大佬又出新祕籍?趕緊入手(高併發+設計模式+算法+項目實戰)

  還記得十年前初學Java的時候,就是這位大佬帶我入坑的,哈哈。 最近在跟馬老師聊天的時候,拿到了他最新錄製的一些視頻資料。在這裏分享給粉絲朋友們: 高併發 馬士兵親授爲期兩天的多線程高併發實戰訓練視頻合集   還有一個配套的學習書