博客 RSS 訂閱

註銷 - 什麼是面向對象編程領域的胖接口 - Fat Interface

在面向對象編程(Object-Oriented Programming,簡稱 OOP)領域,"胖接口",也稱為"Fat Interface",是一個被廣泛認識並且應當避免的設計反模式。這個術語指的是一個接口(或抽象類)包含了大量的方法,可能超出了單一職責的原則,導致接口變得臃腫、複雜和難以維護。在本文中,我將詳細解釋什麼是胖接口,為什麼它是一個問題,並通過實例來加深理解。 胖接口的定義和問題: "

面向對象編程 , oop , 面向對象設計模式 , 前端 , Javascript

收藏 評論

註銷 - 類的實例方法和靜態方法的使用場合區別

面向對象編程(Object-Oriented Programming,簡稱OOP)是一種編程思想,它使用類(Class)和對象(Object)的概念來組織和管理代碼。在OOP中,類是一種模板,用來定義對象的屬性(成員變量)和行為(成員方法)。對象則是類的實例,它們包含了類中定義的屬性和方法,並且可以根據需要進行創建和操作。 在OOP中,類的方法分為兩種主要類型:實例方法和靜態方法。它們具有不同的特

面向對象編程 , oop , 面向對象設計模式

收藏 評論

註銷 - 面向對象軟件設計中常見的問題 - 為什麼要定義類的私有方法

"為什麼要定義私有方法?"這是一個在面向對象軟件設計中常見的問題,涉及到封裝性、安全性和設計靈活性等方面的考慮。首先,讓我們來看看為什麼要使用私有方法。 封裝性(Encapsulation): 面向對象編程的一個基本原則是封裝,即將對象的內部細節隱藏起來,只暴露必要的接口給外部。私有方法是這個封裝性的一部分。通過定義私有方法,你可以將對象的一些內部實現細節封裝起來,只在類內部使用。這樣,外部代

面向對象編程 , oop , 面向對象設計模式

收藏 評論

茶色島 - Java面向對象

一:面向對象(OOP) 1.定義 過程編程是關於編寫對數據執行操作的過程或函數,而面向對象編程是創建同時包含數據和函數的對象 2.優點 OOP 更快更容易執行 OOP 為程序提供了清晰的結構 OOP 有助於保持C#代碼"不重複自己",並使代碼更易於維護、修改和調試 OOP 使得用更少的代碼和更短的開發時間創建完全可重用的應用程序成為可能 3.對象和類

JAVA , oop

收藏 評論

茶色島 - JavaScript面向對象

一:面向對象 1.面向對象基本特徵 封裝:也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏 繼承:通過繼承創建的新類稱為“子類”或“派生類”。繼承的過程,就是從一般到特殊的過程 多態:對象的多功能,多方法,一個方法多種表現形式 2.javascript和麪向對象 javascript是一種基於對象(objec

oop , 前端 , Javascript

收藏 評論

宋子桓 - Go繼承和組合

轉載:原文鏈接 Golang是不支持繼承的,因此我們在使用的時候往往使用組合。那麼,組合與繼承有什麼區別呢?組合和繼承都是面向對象編程中重要的概念。繼承讓一個類獲得另一個類的屬性和方法,形成層級關係,子類可以重用父類的功能。而組合則是將一個類的對象作為另一個類的成員變量,實現代碼複用和模塊化。繼承建立的是"is-a"關係,表示一種類型的擴展;而組合則是"has-a"關係,表示對象之間的包含關係。相

oop , go

收藏 評論

張飛的豬 - 什麼是多態?面向對象中對多態的理解

本文原文來自:什麼是多態?面向對象中對多態的理解 什麼是多態 多態(Polymorphism)是面向對象編程(OOP)中的一個核心概念,它允許對象以多種形式出現。多態性使得同一個接口可以用於不同的數據類型,從而使得代碼更加靈活和可擴展。 簡單來説,多態就是一個接口,一個類,一個抽象類,一個類裏面的方法,不同類的同一個方法,都可以有多種實現,這個在面向對象裏面,就對應着繼承、重載、重寫等具體的方式。

面向對象編程 , 多態 , oop

收藏 評論

阿紫 - MySQL索引優化(萬字詳解)

前言 索引優化這四個字説實話我認為其實挺難理解的。看到這四個字我腦門上是:???? 索引還要優化嗎?調優SQL一般來説不就是看它有沒有走索引,沒走索引給它加上索引就好了嗎? 嗯,所以你是怎麼給它加索引的? 看SQL應該怎麼走索引撒! 那SQL是怎麼走索引的呢?又是怎麼判斷這條SQL會不會走索引呢? 我:…, 咱今天就來分析分析! 要是你還不瞭解MySQL底層的數據結構,建議你先看看MySQL數據結

MySQL , mysql索引

收藏 評論

博學谷狂野架構師 - 分享會上狂吹MySQL的4大索引結構,沒想到大家的鑑賞能力如此的~~~~

文章內容整理自【博學谷狂野架構師】 索引(index)是幫助MySQL高效獲取數據的數據結構(有序)。在數據之外,數據庫系統還維護着滿足 特定查找算法的數據結構,這些數據結構以某種方式引用(指向)數據, 這樣就可以在這些數據結構 上實現高級查找算法,這種數據結構就是索引。 優缺點: 優點: 提高數據檢索效率,降低數據庫的IO成本 通過索引列對數據進行排序,降低數據排序的成本,降

紅黑樹 , 索引 , mysql索引 , JAVA , 二叉樹

收藏 評論

journey - MySQL原理

1、JDBC Connection實例是線程安全的嗎? Connection實例是線程安全的嗎? 能不能只創建一次,共享Connection對象? 答案是不能的, Connection不是線程安全的,他會在多線程環境下,導致數據庫操作的混亂,特別是在事務存在的情況下:可能一個線程剛開啓事務con.setAutoCommit(true),而另一個線程直接提交事務con.commit(); 對

MySQL , mysql索引 , mysql優化

收藏 評論

京東雲開發者 - 深入理解MySQL索引底層數據結構

1 引言 在日常工作中,我們會遇見一些慢SQL,在分析這些慢SQL時,我們通常會看下SQL的執行計劃,驗證SQL執行過程中有沒有走索引。通常我們會調整一些查詢條件,增加必要的索引,SQL執行效率就會提升幾個數量級。我們有沒有思考過,為什麼加了索引就會能提高SQL的查詢效率,為什麼有時候加了索引SQL執行反而會沒有變化,本文就從MySQL索引的底層數據結構和算法來進行詳細分析。 2 索引數據結構對比

MySQL , 數據結構 , mysql索引 , 數據庫

收藏 評論

NineData - GaussDB(for MySQL) 雲原生數據庫技術演進和挑戰

摘要:GaussDB(forMySQL)是華為自研雲原生數據庫,具有高性能,高擴展,高可靠的特點,完全兼容MySQL協議,自研架構和友好的生態兼容性,可以同時滿足數據庫管理員、應用開發者、CTO的運維、使用和業務發展需求,本次主要介紹GaussDB(forMySQL)在雲原生技術方向上遇到的挑戰和未來的發展演進路徑。 在2023雲數據庫技術沙龍“MySQLxClickHouse”專場上,華為雲數據

MySQL , gaussdb , mysql索引 , 數據庫 , mysql-replication

收藏 評論

Zeran - 更好的創建和使用Mysql索引

表結構 CREATE TABLE single_table( id int not null auto_increment, key1 VARCHAR(100), key2 int, key3 VARCHAR(100), key_part1 VARCHAR(100), key_part2 VARCHAR(100), key_part3 VAR

MySQL , mysql索引

收藏 評論

後廠村村長 - 為啥MySQL的InnoDB在一頁(page)中最少要存儲兩條記錄?

關於這個問題,村長我查過很多信息,有説來自官方,有自己分析的,莫衷一是,要麼太發散,要麼有幾分牽強,現在村長試解答一下。 這個問題其實挺有意思,理論上來説,可以存一條數據,那為啥要有這麼個規則呢? 我們知道,一頁的大小默認為 16*1024=16384 字節,但是,MySQL 允許的一行數據的存儲上限卻為 65535! 當然了,這 65535 個字節除了列本身的數據外,還包括一些其他數據(s

MySQL , innodb , mysql索引

收藏 評論

Zeran - Mysql單表訪問方法

訪問方法的概念 設計MySQL的大叔把MySQL執行查詢語句的方式稱為訪問方法(access method)或者訪問類型。同一個查詢語句可以使用多種不同的訪問方法來執行,雖然最後的查詢結果都是一樣的,但是不同的執行方式話費的時間成本可能差距甚大。就像是從北京南鑼鼓巷到什剎海,你可以打車去,也可以坐地鐵去,坐公交去,還可以騎共享單車去,當然也可以走着去。 表結構 CREATE TABLE singl

MySQL , mysql索引 , mysql優化

收藏 評論

Zeran - Mysql連接的原理

表結構 t1 CREATE TABLE `t1` ( `m1` int(11) DEFAULT NULL, `n1` char(1) COLLATE utf8mb4_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; INSERT INTO `t1`(`m1`, `n1`) VALUE

mysql索引 , mysql優化 , SQL

收藏 評論

NineData - 40分鐘500GB!輕鬆將MySQL數據同步到Doris

隨着數據分析在業務決策中變得日益重要,數據實時同步和分析成為企業提升競爭力的關鍵。MySQL 作為廣泛使用的關係型數據庫,其數據存儲豐富,但無法滿足大規模數據分析和高併發查詢的需求。而 Doris 作為一款專為大數據分析設計的分佈式數據倉庫,具有高性能、可擴展的特點,其優異的數據處理能力也在行業內廣受關注。 01 為什麼需要把 MySQL 同步到 Doris? 大數據分析需求: 當您的業務數據

MySQL , mysql索引 , mysql-replication , dorisdb

收藏 評論

京東雲開發者 - 淺析MySQL代價模型:告別盲目使用EXPLAIN,提前預知索引優化策略 | 京東雲技術團隊

背景 在 MySQL 中,當我們為表創建了一個或多個索引後,通常需要在索引定義完成後,根據具體的數據情況執行 EXPLAIN 命令,才能觀察到數據庫實際使用哪個索引、是否使用索引。這使得我們在添加新索引之前,無法提前預知數據庫是否能使用期望的索引。更為糟糕的是,有時甚至在添加新的索引後,數據庫在某些查詢中會使用它,而在其他查詢中則不會使用,這種情況下,我們無法確定索引是否發揮了預期的作用,讓人感到

MySQL , 索引 , mysql索引 , explain

收藏 評論

DBLens - 金融行業MySQL索引實戰:交易系統的最左原則深度優化

一、金融交易系統的索引挑戰 1.1 金融業務特徵 高頻寫入:每秒數千筆交易記錄 複雜查詢:多維度交易檢索(賬户、時間、金額、類型) 監管要求:7×24小時歷史數據可追溯 數據安全:嚴格的ACID事務要求 1.2 典型數據表結構 CREATE TABLE transactions ( trans_id BIGINT AUTO_INCREMENT PRIMARY KEY,

mysql索引 , 人工智能

收藏 評論

kexb - MySQL COUNT() 性能:聚簇索引、二級索引與不同寫法的效率對比

在日常開發中,統計一張表中的記錄數是非常常見的需求,而 COUNT 函數就是我們最常用的工具。但 COUNT 的用法有多種,例如: COUNT(*) COUNT(1) COUNT(字段) COUNT(主鍵字段) 平時我也會疑惑:這些寫法到底有什麼區別?哪種性能更好?是不是 COUNT(*) 最慢? 本文就結合 InnoDB 存儲引擎的執行原理,深入分析這些不同寫法的差異,並總結出最佳實

mysql索引

收藏 評論

it排球君 - 抽絲剝繭--從零開始建設k8s監控之水平拆分(五)

前言 書接上文,經過之前的不懈努力,我們已經有了較為完善的監控系統與告警系統,而prometheus的工作模式就像一個單點,拉取數據回來之後存儲在自己的磁盤上 當監控數據越來越多,那prometheus單點的壓力就會變大,那本文就來討論一下如何降低單點prometheus的壓力 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 L

容器 , devops

收藏 評論

it排球君 - 深入淺出--從零開始建設k8s監控之thanos(六)

前言 書接上文,目前環境已經做好了水平拆分,是這個樣子的 本文使用thanos對這些prometheus進行數據匯聚,並且詳細討論一下thanos 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 LTS docker 24.0.7 thanos 0.36.1 than

容器 , devops

收藏 評論

東風微鳴雲原生 - 提升效率:AI 知識庫在軟件開發中的應用

在當今快速發展的軟件開發領域,效率至關重要。 程序員們不僅需要掌握各種編程語言和工具,還要不斷學習新的技術和框架。 如何在海量的信息中快速找到所需的知識,並將其應用到實際開發中,成為了一個重要的挑戰。 AI 知識庫應運而生,為解決這一難題提供了新的思路。 什麼是 AI 知識庫? AI 聊天知識庫是一個專門為聊天機器人提供支持的信息系統,它包含指定的知識和數據,旨在幫助聊天機器人更有效地回答用户的問

容器 , kubernetes , devops , 運維

收藏 評論

東風微鳴雲原生 - AI 賦能的雲原生應用:技術趨勢與實踐

AI 賦能的雲原生應用:技術趨勢與實踐 隨着人工智能技術的飛速發展,雲計算作為基礎設施的角色日益重要。AI 與雲計算的結合,正在催生新一代的雲原生應用,為各行各業帶來變革性的力量. 本文將探討 AI 賦能的雲原生應用的技術趨勢與實踐,分析其優勢與挑戰,並展望未來的發展方向. AI 大模型在雲端的崛起 AI 模型規模持續增長: 大模型的訓練和推理需要強大的計算資源,雲計算平台提供了近乎無限的算

容器 , kubernetes , devops , 運維

收藏 評論