原创 年薪80W的架構師總結:性能優化其實不難,記住這十條策略就夠了

文章目錄一、時空轉換二、預先和延後處理三、並行 / 異步操作四、緩存 / 批量合併五、更先進算法和數據結構六、總結 上一篇文章公司來了一位阿里P7大佬,只做了6個步驟,代碼性能瞬間翻倍,我們聊了性能優化的六大原則。原則有了,但是

原创 如何設計一個基礎服務?看完這篇文章別再說不會、不懂、不知道

最新互聯網大廠面試真題、Java程序員面試策略(面試前的準備、面試中的技巧)請移步GitHub 我們知道,落地一個微服務其實並不困難,但要實現一個能夠高度複用的共享服務並不容易,在落地過程中,經常會有一系列的問題困擾着我們。

原创 這可能是把MyBatis緩存特性講的最清楚的一篇文章了

最新互聯網大廠面試真題、Java程序員面試策略(面試前的準備、面試中的技巧)請移步GitHub 一、緩存簡介 一般我們在系統中使用緩存技術是爲了提升數據查詢的效率。當我們從數據庫中查詢到一批數據後將其放入到混存中(簡單理解就是一

原创 趣操作,Tomcat如何實現一鍵式啓停?

最新互聯網大廠面試真題、Java程序員面試策略(面試前的準備、面試中的技巧)請移步GitHub 首先我們通過一張簡化的類圖來回顧一下,從圖上你可以看到各種組件的層次關係,圖中的虛線表示一個請求在 Tomcat 中流轉的過程。

原创 二分查找算法詳解:快速查找的同時還最大程度的節省內存

最新互聯網大廠面試真題、Java程序員面試策略(面試前的準備、面試中的技巧)請訪問GitHub 二分查找(Binary Search)算法,也叫折半查找算法。二分查找的思想非常簡單,很多非計算機專業的同學很容易就能理解,但是看似

原创 MySQL調優之SQL語句:如何寫出高性能SQL語句?

MySQL 數據庫是互聯網公司使用最爲頻繁的數據庫之一,不僅僅因爲它開源免費,MySQL 卓越的性能、穩定的服務以及活躍的社區都成就了它的核心競爭力。 我們知道,應用服務與數據庫的交互主要是通過 SQL 語句來實現的。在開發初期,

原创 同樣工作十幾年,爲什麼有的人成爲大廠架構師,有的人失業?

本文轉載自:同樣工作十幾年,爲什麼有的人成爲大廠架構師,有的人失業? 在軟件開發招聘中,“有多少年工作經驗”是一個重要的招聘指標。但實際上,技術能力和工作年限並不是正相關的,特別是工作三五年以後,很多人的技術能力進步就幾乎停滯了

原创 隊列是如何逐步進化成一個消息中間件的?

前言 消息中間件本質上就是一種很簡單的數據結構——隊列,但是一條隊列肯定是當不成中間件的,你必須要考慮性能、容災、可靠性等等因素。這也給我的寫作提供了一些思路,我將從隊列開始,給你演示一條隊列是如何進化成一個靠譜的中間件的。 消息

原创 阿里架構師萬字總結:Mybatis插件實現原理,Mybatis就要這麼用

mybatis中的插件,也就是攔截器interceptor,也挺有意思的。 它的簡單使用,就直接拿文檔中的示例來簡單說下 一、使用 使用方式很簡單 Copy// 使用這個註解,表明這是一個攔截器 @Intercepts(

原创 面試字節跳動java崗被算法吊打,60天苦修這些筆記,僥倖收穫offer

想要通關大廠面試,千萬別讓數據結構和算法拖了後腿 很多大公司,比如 BAT、Google、Facebook,面試的時候都喜歡考算法、讓人現場寫代 碼。有些人雖然技術不錯,但每次去面試都會“跪”在算法上,很是可惜。那你有沒有想 過

原创 面試官:請講一下kafka消息分區機制原理

一、背景 kafka如何支撐海量消息的集中寫入? 答案就是消息分區。 核心思想是:負載均衡,採用合適的分區策略把消息寫到不同的broker上的分區中; 其它的產品中有類似的思想。 比如monogodb, es 裏面叫做 shard