前言:記得很久之前,去面試過字節跳動。被三面的面試官問了一道場景設計題目:如何設計一個高并發系統。當時我回答得比較粗糙,最近回想起來,所以整理了設計高并發系統的15個錦囊,相信大家看完會有幫助的。 ...
這篇文章主要描述如何進行消息隊列產品選型,包括產品選型需要考慮的因素、三種比較流行的消息隊列產品的優缺點以及如何根據我們的使用場景選擇合適的消息隊列產品。 ...
摘要:此篇文章主要介紹 Java8 Lambda 表達式產生的背景和用法,以及 Lambda 表達式與匿名類的不同等。 Java是一流的面向對象語言,除了部分簡單數據類型,Java 中的一切都是對象,即使數組也是一種對象,每個類創建的實例也是對象。在 Java 中定義的函數或方法不可能完全獨立,也不 ...
Part1 ITerator模式 作用:循環不依賴具體的集合實現,擴展性比較好。 1.1 Iterator模式 使用Java語言顯示數據arr中的元素時,我們可以使用下面的for循環語句遍歷數組。 for (int i = 0; i < arr.length; i++) { System.out.p ...
在企業的商業活動中,訂單是指交易雙方的產品或服務交易意向。交易下單負責創建這個交易雙方的產品或服務交易意向,有了這個意向后,買方可以付款,賣方可以發貨。
在電商場景下,買賣雙方沒有面對面交易,許多情況下需要通過超時處理自動關閉訂單 ...
訪問者模式是一種將算法與對象結構分離的軟件設計模式。它可以讓你在不修改對象結構的情況下,對對象結構中的元素進行不同的操作。訪問者模式的優點是符合單一職責原則,優秀的擴展性和靈活性。缺點是具體元素對訪問者公布細節,違反了迪米特原則,而且如果元素類經常變化,會導致訪問者類需要頻繁修改。 訪問者模式適合在 ...
數據字典是系統中基本的必不可少的功能,在多種多樣的系統中,數據字典表的設計都大同小異。但是使用方式確是多種多樣,設計好一套易用的數據字典功能模塊,可以使開發事半功倍。 常用的數據字典使用方式: 直接在SQL語句中LEFT JOIN (當然是不推薦這樣用的) 查詢出原始數據,然后再根據原始數據需要的字 ...
一起來看看大道至簡的一些基本設計思想,首先我們來看一下什么是封裝。 封裝:也叫做信息隱藏,或者數據訪問保護。放到程序上來講,就是隱藏類的屬性,還有實現細節,僅對外公開一些接口。那么外部,就只能通過這個類暴露的這些訪問接口,按照這個類提供的方式來訪問類的內部信息或者數據。這樣子的一種情況就叫做封裝。 ...
解釋器模式是一種行為型設計模式,它可以用來定義和解釋一種語言的文法,并根據文法對句子進行解釋。解釋器模式通常用于編譯器,表達式計算,正則表達式,機器人等領域。 它的基本思想是為每個符號(終結符或非終結符)創建一個類,然后使用這些類來構建抽象語法樹。 在Java中,解釋器模式的實現可以參考以下步驟: ...
RxEditor是一款開源企業級可視化低代碼前端,目標是可以編輯所有 HTML 基礎的組件。比如支持 React、VUE、小程序等,目前僅實現了 React 版。 RxEditor運行快照: 項目地址:https://github.com/rxdrag/rxeditor 演示地址( Vercel 部 ...
如何畫好一張架構圖,要做好這件事情首先要回答的就是什么是架構圖。我們日常工作中經常能看到各種各樣的架構圖,而且經常會發現大家對架構圖的理解各有側重。深入追究到這個問題,可能一下子還很難有一個具象的定義,如果我們把這個問題進行拆分,理解起來就會容易一點。 ...
cola前言 COLA提供了一整套代碼架構,拿來即用。 其中包含了很多架構設計思想,包括討論度很高的領域驅動設計DDD等。 COLA 的分層是一種經過改良的三層架構,主要是講傳統的業務邏輯層拆分為展示層、應用層、領域層和基礎設施層。 展示層(Presentation Layer):負責以 Rest ...
1.簡介 定義:將某個對象中圍繞某個主題的一些列行為委托給一個代理對象去執行,代理對象將控制和管理對原有對象的訪問,調用者想要訪問目標對象,必須通過代理對象去間接訪問,代理對象在調用方和目標對象之間可以起到”中介“的作用。代理一詞本身,其實就可以很好發現的關鍵點,如果暫時無法理解晦澀的概念,那么在閱 ...
常用API API概述 API全稱是應用程序編程接口,是Java寫好的程序,程序員可以直接調用。 Object類:toString方法 Object是祖宗類,它里面的方法,一切子類對象都可以使用。 public String toString() 默認是返回當前對象的地址信息。 Student s ...
跨平臺開發框架是客戶端領域的經典課題,幾乎從操作系統誕生開始就是我們軟件從業者們的思考命題。為了促進 Flutter 在 4 個端的成熟,企業微信研發團隊也和 Google 團隊針對電腦端 Flutter 穩定版的落地做了多輪技術溝通。終于在近期的版本實現同一個功能跨平臺 4 端同步上線。企業微信每... ...
大型企業智能化-數字化轉型基礎-關注點 業務中臺,多半是傳統的成本中心,把后臺的資源整合成前臺打仗需要的“中間件”,方便被隨需調用。典型的業務中臺如字節跳動的直播中臺、騰訊的技術中臺等。“業務中臺”也被稱為“有形的中臺”,因為是有實體部門存在的。 數據中臺是在政企數字化轉型過程中,對各業務單元業務與 ...
經過幾年的平臺建設,vivo監控平臺產品矩陣日趨完善,在vivo終端龐大的用戶群體下,承載業務運行的服務數量眾多,監控服務體系是業務可用性保障的重要一環,監控產品全場景覆蓋生產環境各個環節。從事前發現,事中告警、定位、恢復,事后復盤總結,監控服務平臺都提供了豐富的工具包。從以前的水平拆分,按場景建設... ...
面向對象高級第一天 static關鍵字 是靜態的意思,可以修飾成員變量,也可以修飾成員方法 成員變量的分類 靜態成員變量 有static修飾,屬于類,與類一起加載,內存中只有一份,可以被共享訪問。 什么時候用呢?如果信息要被共享,只需要一份就用靜態成員變量,比如:系統在線人數。 訪問規則: 建議用類 ...
今天我們來學習下模板方法設計模式。 模板方法(Template Method Pattern):抽象的父類中定義一個操作中算法的骨架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結構,即可重新定義該算法的某些特定步驟。簡單地講,就是“父類的模板方法定義不變的流程,子類重寫流程中的方法”。 ...
摘要 近兩年即時通訊/直播產品炙手可熱,市場上針對ToB的產品日益增多,企業該如何去選型呢?本文分享了筆者對于直播產品的思考,將從直播SDK實例功能特性、常見業務場景、注意事項及最佳實踐等方面介紹如何進行實例選型,旨在幫助您了解應如何結合實際業務場景選購音視頻產品。 前言 近期,ChatGPT火遍全 ...