<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • 摘要: 現實場景往往是這樣,我們應對一個需求,很快就會有一個處理方法了,然后根據需求做了一個還不錯的實現。因為實現了功能,業務很happy,老板很開心,all the world is beatiful. 但隨著公司的發展,有人實現了一套底層的標準組件,按要求你必須要接入他那個,他的功能與你類似,但你必須要 閱讀全文
    posted @ 2022-06-26 11:32 等你歸去來 閱讀(306) 評論(0) 推薦(1) 編輯
    摘要: bitmap的表象意義是,使用一個01標識位來表示是否的狀態,可以達到節省空間和高效判定的效果。在我們的實際工作中,也有著許多的應用場景,相信了解bitmap定會給你帶來一些額外的收獲。 1. bitmap使用場景說明 比如,我想記錄某用戶某天是否登錄過,我們有很多做法。簡單的,只要用戶登錄,就在d 閱讀全文
    posted @ 2022-06-19 16:01 等你歸去來 閱讀(136) 評論(0) 推薦(0) 編輯
    摘要: 如題:請求出兩個字符串的差異部分,并以不同的顏色區分顯示到瀏覽器上。 1. 解題思路 1. 找出兩字符串中相同的部分,標記; 2. 找出兩字符串中不同的部分,標記; 3. 盡可能長的匹配相同部分; 4. 盡可能少的使用復雜度(所有算法的重要目標); 2. 算法實現 算法實現如下:(js實現) <!D 閱讀全文
    posted @ 2022-04-06 22:01 等你歸去來 閱讀(33) 評論(0) 推薦(0) 編輯
    摘要: wait/notify 機制是解決生產者消費者問題的良藥。它的核心邏輯是基于條件變量的鎖機制處理。所以,它們到底是什么關系?wait()時是否需要持有鎖? notify()是否需要持有鎖?先說答案:都需要持有鎖。 wait需要持有鎖的原因是,你肯定需要知道在哪個對象上進行等待,如果不持有鎖,將無法做 閱讀全文
    posted @ 2022-03-28 06:08 等你歸去來 閱讀(265) 評論(0) 推薦(1) 編輯
    摘要: 我們都用過消息中間件,它的作用自不必多說。但對于消費者卻一直有一些權衡,就是使用push,還是pull模式的問題,這當然是各有優劣。當然,這并不是本文想討論的問題。我們想在不使用長連接的情意下,如何實現實時的消息消費,而不至于讓server端壓力過大。大體上來說,這是一種主動拉取pull的方式。具體 閱讀全文
    posted @ 2022-03-24 16:51 等你歸去來 閱讀(197) 評論(0) 推薦(0) 編輯
    摘要: 上一節我們通過對x86的linux內核的講解,知道了它的一個大概的啟動過程。 /arch/x86/boot/header.S -> calll main -> /arch/x86/boot/main.c -> go_to_protected_mode() -> /arch/x86/boot/pm.c 閱讀全文
    posted @ 2022-01-23 21:51 等你歸去來 閱讀(138) 評論(0) 推薦(1) 編輯
    摘要: 一直很好奇,操作系統是如何工作的?我們知道平時編程,是如何讓代碼跑起來的,但那些都是比較高層次的東西。越往后,你會越覺得,像是空中樓閣,或者說只是有人幫你鋪平了許多道理,而你卻對此一無所知。 1. 操作系統的困惑 當然了,也不是真的一無所知。因為有很多的操作系統方面的書籍,教你了解操作系統是如何如何 閱讀全文
    posted @ 2022-01-03 21:12 等你歸去來 閱讀(366) 評論(1) 推薦(0) 編輯
    摘要: 我們知道sql執行是一個復雜的過程,從sql到邏輯計劃,到物理計劃,規則重組,優化,執行引擎,都是很復雜的。尤其是優化一節,更是內容繁多。那么,是否我們本篇要來討論這個問題呢?答案是否定的,我們只特定場景的特定優化問題。 1. 應用場景描述 應用場景是:我們提供一個功能,允許用戶從提供的字段列表中, 閱讀全文
    posted @ 2021-12-26 12:32 等你歸去來 閱讀(493) 評論(1) 推薦(3) 編輯
    摘要: clickhouse據說是用在大數據量的olap場景列式存儲數據庫,也有幸能夠用到它在實際場景中落地。本篇就來說說簡單的使用心得吧。 1. 整體說明 架構啥的,就不多說了,列式存儲、大數據量、高性能。參見官方文檔地址: https://clickhouse.com/docs/en/ 對于使用者而言, 閱讀全文
    posted @ 2021-12-03 09:31 等你歸去來 閱讀(628) 評論(0) 推薦(0) 編輯
    摘要: 語法解析有個核心目標,那就是需要構建抽象語法樹。雖然說語法解析框架可以很容易的識別出各節點的結構,但還需要我們按照自行需求,轉換成期望的樹結構,才能夠方便使用。 基本上,所有的表達式,都會進行嵌套組合,從而才能夠發揮其強大的作用。但,往往我們在做解析的時候,又是線性的解析。所以,最初,我們能得到的必 閱讀全文
    posted @ 2021-08-29 17:01 等你歸去來 閱讀(216) 評論(0) 推薦(0) 編輯
    摘要: 是一個動態數據管理框架。 它包含許多組成典型數據庫管理系統的部分,但省略了存儲原語。它提供了行業標準的SQL解析器和驗證器,具有可插入規則和成本函數的可自定義優化器,邏輯和物理代數運算符,從SQL到代數(以及相反)的各種轉換。 以上是官方描述,用大白話描述就是,calcite實現了一套標準的sql解 閱讀全文
    posted @ 2021-08-08 17:21 等你歸去來 閱讀(598) 評論(0) 推薦(0) 編輯
    摘要: 用例:有N個文件,每個文件只有一列主鍵,每個文件代表一種屬性。即當如PRI1主鍵在A文件中,說明PRI1具有A屬性。這種場景,一般用于數據的篩選,比如需要既有屬性A又有屬性B的主鍵有哪些?就是這類場景。 如何處理該場景? 1. 解題思路 如果拋卻如題所說文件限制,那我們如何解決? 比如,我們可以將每 閱讀全文
    posted @ 2021-06-29 15:38 等你歸去來 閱讀(268) 評論(0) 推薦(0) 編輯
    摘要: 害,又是一個炒冷飯的時間。fork/join是在jdk1.7中出現的一個并發工作包,其特點是可以將一個大的任務拆分成多個子任務進行并行處理,最后將子任務結果合并成最后的計算結果,并進行輸出。從而達到多線程分發任務,達到高效處理的目的。 1. 關于fork/join的一點想法 以上說法,也許大家沒什么 閱讀全文
    posted @ 2021-06-28 10:41 等你歸去來 閱讀(822) 評論(0) 推薦(0) 編輯
    摘要: 我們知道,當我們對es發起search請求或其他操作時,往往都是隨機選擇一個coordinator發起請求。而這請求,可能是該節點能處理,也可能是該節點不能處理的,也可能是需要多節點共同處理的,可以說是情況比較復雜。 所以,coordinator的重要工作是,做請求分發與結果收集。那么,如何高性能和 閱讀全文
    posted @ 2021-06-26 06:45 等你歸去來 閱讀(464) 評論(0) 推薦(0) 編輯
    摘要: 用例:有一段sql語句,我們需要從中截取出所有字段部分,以便進行后續的類型推斷或者別名字段抽取定義,請給出此解析方法。 想來很簡單吧,因為 sql 中的字段列表,使用方式有限,比如 a as b, a, a b... 1. 解題思路 如果不想做復雜處理,最容易想到的,就是直接用某個特征做分割即可。比 閱讀全文
    posted @ 2021-06-21 09:58 等你歸去來 閱讀(965) 評論(4) 推薦(1) 編輯
    摘要: java的一大核心特性,即是自動內存回收。這讓一些人從繁瑣的內存管理中解脫出來,但對大部分人來說,貌似這太理所當然了。因為現在市場上的語言,幾乎都已經沒有了還需要自己去管理內存這事。大家似乎都以為,語言不就應該干這事嗎。 其實在我們現在的編程語言中,從某種角度上,大致可以分為多進程并發模型和多線程并 閱讀全文
    posted @ 2021-06-14 21:03 等你歸去來 閱讀(290) 評論(0) 推薦(0) 編輯
    摘要: 害,別誤會,我這里說的stream不是流式編程,不是大數據處理框架。我這里說的是stream指的是jdk中的一個開發工具包stream. 該工具包在jdk8中出現,可以說已經是冷飯了,為何還要你說?只因各家一言,不算得自家理解,如若有空,何多聽一版又何妨。 本篇主要從幾個方面講講:1. 我們常見的s 閱讀全文
    posted @ 2021-06-12 22:49 等你歸去來 閱讀(530) 評論(3) 推薦(1) 編輯
    摘要: 上一篇文章中,我們看了get在es的實現過程,雖只是一個簡單的單條查詢,但看起來實現卻非常之復雜。糾其原因,是我們圍繞了太多外圍的東西講了,而其核心則無外乎三點:1. 定義id對應的機器節點; 2. 查找真正的docId; 3. 查找docId對應的field信息; 本篇,我們再看另一個es的重要功 閱讀全文
    posted @ 2021-06-05 15:24 等你歸去來 閱讀(265) 評論(0) 推薦(0) 編輯
    摘要: 前面講的都是些比較大的東西,即框架層面的東西。今天咱們來個輕松點的,只講一個點:如題,get單條記錄的es查詢實現。 1. get語義說明 es中要實現get的查詢,直接就是一個url請求即可: curl http://localhost:9200/test/job/1 get是用于搜索單條es的數 閱讀全文
    posted @ 2021-05-24 10:19 等你歸去來 閱讀(1095) 評論(0) 推薦(0) 編輯
    摘要: 上一篇講解了es的網絡通信模塊實現過程,大致明白其工作原理。再總結一下,就是基于netty編程范式,形成es通信基礎。從而,最終我們得到幾個重要的handler: Netty4HttpPipeliningHandler/Netty4HttpRequestHandler/Netty4MessageCh 閱讀全文
    posted @ 2021-05-05 16:37 等你歸去來 閱讀(519) 評論(0) 推薦(0) 編輯
    国产美女a做受大片观看