原创 IO概念和IO模型

1.前言        IO的概念和模型很重要,不過每次看完資料過段時間又忘了,還得需要親自寫一下,加深下記憶和理解,本篇記錄參考偉峯的總結和網上資料整理而來,目的是加深這塊IO知識體系的記憶!在Unix的世界裏,一切皆文件,比如sock

原创 京東毫秒級熱key探測框架設計與實踐,已完美支撐618大促(轉載)

在擁有大量併發用戶的系統中,熱key一直以來都是一個不可避免的問題。或許是突然某些商品成了爆款,或許是海量用戶突然湧入某個店鋪,或許是秒殺時瞬間大量開啓的爬蟲用戶, 這些突發的無法預先感知的熱key都是系統潛在的巨大風險。 風險是什麼呢?

原创 關於MySQL數據庫超時設置感悟?

 要時刻對線上系統保持敬畏之心,那麼線上系統的JVM參數配置,數據庫連接配置就得認真對待,不能疏忽   1線上系統的數據庫配置的參數的具體含義,以及該設置多大  2線上系統對應的數據庫最大支持的鏈接數是多少,通過壓測能壓到2000,還是5

原创 MySQL索引原理背後的思考(轉載加總結)

MYSQL索引的思考       當我們在用mysql做查詢時候,經常會建立索引,因爲索引可以提高查詢性能,那你是否思考過mysql索引的底層原理是啥?底層存儲結構是啥?我們從網上可以查到索引是數據庫管理系統中一個排序的數據結構,以協助快

原创 Guava工具之BloomFilter

        我們都知道Guava提供了很多有用的工具包,比如Guava cache,Guava中令牌桶實現RateLimiter,Google Collections,又比如使用guava的Lists.partition,Lists.

原创 java異步任務執行ListenableFuture

      1.業務場景       在實際應用中 我們在優化一個方法的性能時通常會考慮使用多線程,比如網站單品頁會後臺調用諸如商品,庫存,優惠券,促銷,風控等特別多的接口,如果都串行調用接口會很慢(相當於各個rpc的執行時間),爲了提高

原创 重新認識AOP(一)

      我們知道springframework的核心是IOC和AOP,通過AOP可以輕鬆實現諸如日誌,事物,監控等功能,我們最近在做數據庫歸檔技改也用到了AOP切面,spring aop提供了下面一些註解,比如@Before,@Aro

原创 spring容器和bean加載流程圖

    上面這些類的作用和區別? 比如PostConstruct  InitializingBean在使用上基本沒啥區別,我覺得區別就在一個是spring的註解,一個是Java的註解(符合JSR定義的規範)

原创 HTTP Server : 一個差生的逆襲(轉碼農翻身)

       友情提示:本篇文章轉自碼農翻身,微信公總號搜索可以關注劉大        我剛畢業那會兒,國家還是包分配工作的,我的死黨張大胖被分配到了一個叫數據庫的大城市,天天都可以坐在高端大氣上檔次的機房裏,在那裏專門執行SQL查詢優化

原创 如何寫出漂亮的好代碼?

    我們平常在做需求過程中,有的同學會按照面向對象的原則設計寫出和框架代碼一樣高水平的代碼,有的可能就是用面向過程的方式把需求給實現了,但是感覺不漂亮!也就是複用性比較差,修改一點地方容易導致別的地方出問題,擴展性也比較差, 我覺得我

原创 JVM優化分析筆記

 1.前言  我們的Java應用一般會配置JVM參數,比如GC策略,Java堆大小等等,當系統遇到問題是,我們可以通過jmap查看堆內對象示例的統計信息,通過jstack命令可以繼續查看該線程當前的堆棧狀態,通過 jstat命令可以查看堆

原创 HashMap在JDK8前後的區別

  背景        目前,部門的很多JAVA項目使用的還是JDK7,其實JDK8的升級進行了很多優化,而且目前最新的JDK版本已經已經到了JDK12,版本帝真的很可怕。其實也不用很慌,因爲從JDK9開始就是每半年發佈一個版本,2019

原创 理解ElasticSearch 分頁原理

       先舉個場景,假如ES有10個分片,我們根據某個關鍵字查詢數據,且按照時間排序,當查詢第9頁的數據,每頁100條數據,當客戶端發起這個操作,ES的處理流程是怎麼樣的?(帶着問題去思考)       1. from+size分頁

原创 優秀站點大全(持續更新)

       我們搞技術的都會有收藏的乾貨網址,我把我的乾貨網址分享出來,如果對大家有用的話,可以點贊轉發收藏,如果你有更好的技術網址歡迎留言分享啊 1.Github技術 Java 核心知識庫    https://github.com/

原创 監控系統學習總結

1.背景介紹       我們在工作中開發的業務系統都要接入監控系統並配置上報警信息,當某個業務系統的某個方法調用性能飈高,或者可用率下降的時候,我們通過報警能及時發現並處理,監控系統可以按照秒,分鐘,小時看這個方法的執行調用情況,類似下