原创 原創|ES廣告倒排索引架構演進與優化

回顧之前分享了一篇文章 廣告倒排索引架構與優化,介紹我們的ES廣告倒排索引的架構與優化,我就不介紹了,建議先去看下這篇文章,再回來看這篇,下面只放下之前的架構圖ES倒排索引演進採用 canal 監聽 binlog 變更原有架構是在代碼中

原创 原創|面試官:Java對象一定分配在堆上嗎?

最近在看 Java 虛擬機方面的資料,以備工作中的不時之需。首先我先拋出一個我自己想的面試題,然後再引出後面要介紹的知識點如逃逸分析、標量替換、棧上分配等知識點 面試題 Java 對象一定分配在堆上嗎? 自己先思考下,再往下閱讀效果

原创 一起刷 leetcode 之旋轉矩陣(頭條/華爲/陌陌真題)

微信公衆號:[每天曬白牙]關注可瞭解更多的編程知識。問題或建議,請公衆號留言;如果你覺文章對你有幫助,歡迎關注與題目描述給你一幅由 N × N 矩陣表示的圖像,其中每個像素的大小爲 4 字節。請你設計一種算法,將圖像旋轉 90 度。不佔

原创 面試官:如何用最少的老鼠試出有毒的牛奶?

面試題 有 n 桶牛奶,其中有 1 桶有問題,老鼠喝了後第二天會死掉。如何在最短時間內用最少的老鼠測出有問題的那瓶牛奶?   答案 如果  n 是 2 的整數次冪,就是 n 轉換爲二進制後的位數減一。如果 n 不是 2 的整數次冪,就是

原创 原創|如果懂了HashMap這兩點,面試就沒問題了

HashMap 是後端面試的常客,比如默認初始容量是多少?加載因子是多少?是線程非安全的嗎?put 操作過程複述下?get 操作複述下?在 jdk 1.7 和 1.8 實現上有什麼不同?等等一系列問題,可能這些問題你都能對答如流,說明對

原创 一起刷 leetcode 之螺旋矩陣(頭條和美團真題)

微信公衆號:每天曬白牙關注可瞭解更多編程知識。問題或建議,請公衆號留言;如果你覺得文章對你有幫助,歡迎關注與轉發題目描述給定一個包含 m*n 個元素的矩陣(m 行,n 列),請按順時針螺旋順序,返回矩陣中所有元素leetcode 第 5

原创 一起刷 leetcode 之環形鏈表

題目 這道題是 leetcode 的第 141 題 給定一個鏈表,判斷鏈表中是否有環 對應的題目 環形鏈表   題目解析 方法 1:暴力 + 哈希表 遍歷鏈表,放到 hash 表中,可以是 set,然後在遍歷過程中,去判斷 set 中是否

原创 一起刷 leetcode 之反轉鏈表

題目 這道題是 leetcode 的 206 題 給定一個鏈表,然後將其反轉後輸出 例如: 輸入:1->2->3->4->5->null 輸出:5->4->3->2->1->null 對應的題目鏈接 反轉鏈表   解析 這道題的難度屬於簡

原创 同事:把"重試"抽象出來做個工具類吧

背景介紹我們在工作中難免會寫一些重複性的代碼,所以需要我們具備一定的抽象能力,比如把共同的邏輯抽取到抽象類中,也可以通過一些工具類來避免冗餘代碼今天這篇文章就是把一個調用服務的重試功能抽取出一個工具類,以備複用。這裏爲了方便介紹,把調用

原创 ElasticSearch License 過期解決辦法

我們的廣告倒排索引用的 ES 版本是 5.6.3 ,然後在 kibana 中管理集羣,發現 license 過期了   點擊 Get Basic 註冊一個免費的 Licence   填寫完後,會收到郵件   下載完 License 

原创 改善代碼質量的編程規範

《設計模式之美》 改善代碼質量的編程規範 一、命名 1.命名長度 命名要準確達意,千萬不要有“反正代碼是我寫的,我明白什麼意思,隨便起名就可以了”這樣的誤解,畢竟同事也會看我們的代碼。 對於一些長常用的單詞,可以用縮寫,這樣可以保證既等達

原创 ThreadPoolExecutor 線程池"源碼分析"

白牙想說很久沒更新了,原因並不是沒有學習,而是學完了不知道怎麼寫出來,同時還有一股聲音在耳邊告訴我,現在公衆號滿天飛,寫公衆號的人比看公衆號多,同 topic 的文章太多了……。但後面我自己想通了,雖然類似的文章很多,但它不是我寫的,自

原创 我的 2019 年終總結

今天是 2019 年的最後一天,看到大家都在寫自己的年終總結,回望過去,展望未來,我也不例外2019 年對我來說是很重要的一年,在 1 月 15 日完成了終生大事,結婚成家了,從此不再是一個人在北京奮鬥了,身邊多了一個陪伴的人,生活也逐

原创 Redis 的過期策略是如何實現的?

  背景 爲了減少佔用內存空間,通常會對放到 Redis 中的鍵通過 expire 設置一個過期時間,那 Redis 是怎麼實現對過期鍵刪除的呢?   設置過期時間 設置過期時間的四種方式 # 將 key 的過期時間設置爲 ttl 

原创 Kafka服務端之網絡層源碼分析

上次我們通過分析KafkaProducer的源碼瞭解了生產端的主要流程KafkaProducer源碼分析,今天學習下服務端的網絡層主要做了什麼,先看下 KafkaServer的整體架構圖 Kafka服務端架構圖 由圖可見Kafka的服務