原创 Java開發連Kafka都不會?阿里大牛推薦一書讓你闖入Kafka魅力世界

Kafka簡介Kafka 是 LinkedIn 開發並開源的一套分佈式的高性能消息引擎服務,後來被越來越多的公司應用在自己的系統中,可以說,Kafka 是大數據時代數據管道技術的的首選。在設計的時候,它就實現了高可靠、高吞吐、高可用和可伸縮

原创 Java資深架構師帶你深入淺出MyBatis技術原理與實戰,建議學習

寫在前面爲什麼某些人會一直比你優秀,是因爲他本身就很優秀還一直在持續努力變得更優秀。而你是不是還在滿足於現狀且內心在竊喜?“對於程序員來說,如果哪一天開始他停止了學習,那麼他的職業生涯便開始宣告消亡。”所以行動起來,學習起來!MyBatis

原创 2020春招BAT面試題彙總:MyBatis +微服務+多線程+Spring+分佈式

前言:本文收集整理了各大廠常見面試題N道,你想要的這裏都有內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Sp

原创 爲啥阿里巴巴Java開發手冊建議集合初始化時,指定集合容量大小?

1集合是 Java 開發日常開發中經常會使用到的。在之前的一些文章中,我們介紹過一些關於使用集合類應該注意的事項,如《爲什麼阿里巴巴禁止在 foreach 循環裏進行元素的 remove/add 操作》。關於集合類,還有很多地方需要注意,本

原创 是時候扔掉 Postman 了,試試 IntelliJ IDEA 自帶的高能神器

前言接口調試是每個軟件開發從業者必不可少的一項技能,一個項目的的完成,可能接口測試調試的時間比真正開發寫代碼的時間還要多,幾乎是每個開發的日常工作項。所謂工慾善其事必先利其器,在沒有嚐到IDEA REST真香之前,postman(chrom

原创 阿里P7架構師一文講透Dubbo負載均衡之最小活躍數算法

前言本文是對於Dubbo負載均衡策略之一的最小活躍數算法的詳細分析。文中所示源碼,沒有特別標註的地方均爲2.6.0版本。爲什麼沒有用截止目前的最新的版本號2.7.4.1呢?因爲2.6.0這個版本里面有兩個bug。從bug講起來,印象更加深刻

原创 你知道爲什麼阿里禁止工程師直接使用日誌系統(Log4j、Logback)中的API嗎?

1作爲 Java 程序員,我想很多人都知道日誌對於一個程序的重要性,尤其是 Web 應用。很多時候,日誌可能是我們瞭解應用程序如何執行的唯一方式。所以,日誌在 Java Web 應用中至關重要,但是,很多人卻以爲日誌輸出只是一件簡單的事情,

原创 原生線程池這麼強大,Tomcat 爲何還需擴展線程池?

前言Tomcat/Jetty 是目前比較流行的 Web 容器,兩者接受請求之後都會轉交給線程池處理,這樣可以有效提高處理的能力與併發度。JDK 提高完整線程池實現,但是 Tomcat/Jetty 都沒有直接使用。Jetty 採用自研方案,內

原创 你知道Kafka 如何優化內存緩衝機製造成的頻繁 GC 問題嗎?

這篇文章,給大家聊一個硬核的技術知識,我們通過Kafka內核源碼中的一些設計思想,來看你設計Kafka架構的技術大牛,是怎麼優化JVM的GC問題的?1、Kafka的客戶端緩衝機制首先,先得給大家明確一個事情,那就是在客戶端發送消息給kafk

原创 IntelliJ IDEA 2019.3 發佈,性能和質量居然牛的飛天了

距離 IntelliJ IDEA 2019.3 RC 發佈不過幾天的功夫,目前,IntelliJ IDEA 2019.3 也已正式發佈。官方表示,該版本是其旗艦 IDE 的第三次也是最後一個主要版本。據透露,在 IntelliJ IDEA

原创 什麼鬼,面試官竟然讓我用Redis實現一個消息隊列?

衆所周知,redis是一個高性能的分佈式key-value存儲系統,在NoSQL數據庫市場上,redis自己就佔據了將近半壁江山,足以見到其強大之處。同時,由於redis的單線程特性,我們可以將其用作爲一個消息隊列。本篇文章就來講講如何將r

原创 JVM從入門到精通系列(二):JVM內存區域及運行時內存

JVM內存區域JVM 內存區域主要分爲線程私有區域【程序計數器、虛擬機棧、本地方法區】、線程共享區域【JAVA 堆、方法區】、直接內存。線程私有數據區域生命週期與線程相同, 依賴用戶線程的啓動/結束 而 創建/銷燬(在 HotspotVM

原创 快速上手:SpringBoot自定義請求參數校驗

最近在工作中遇到寫一些API,這些API的請求參數非常多,嵌套也非常複雜,如果參數的校驗代碼全部都手動去實現,寫起來真的非常痛苦。正好Spring輪子裏面有一個Validation,這裏記錄一下怎麼使用,以及怎麼自定義它的返回結果。一、Be

原创 分佈式系統、微服務架構的一致性和冪等性問題相關概念解析

前言什麼是分佈式系統?關於這點其實並沒有明確且統一的定義。在我看來,只要一個系統滿足以下幾點就可以稱之爲分佈式系統系統由物理上不同分佈的多個機器節點組成系統的多個節點通過網絡進行通信,協調彼此之間的工作。系統作爲整體統一對外提供服務,其分佈

原创 Java 9 ← 2017,2019 → Java 13 ;來看看Java兩年來的變化

距離 2019 年結束,只剩下 35 天了。你做好準備迎接 2020 年了嗎?一到年底,人就特別容易陷入回憶和比較之中,比如說這幾天, 的對比挑戰就火了!這個話題登上了微博的熱搜榜,也刷爆了朋友圈,人們紛紛曬出自己2017和2019的照片