切換語言為:簡體

你不知道的原型到原型鏈再到原型模式

一. 原型我的理解是,原型是一個物件。是一個什麼物件呢?是一個模板物件。其他物件可以透過這個模板物件繼承屬性和方法。假設有兩個物件 B 和 A,B 物件繼承了 A 物件,那麼 A 就是 B 的原型。我們透過這種機制實現了物件之間的共享...

透過 Socket 以及 Netty 兩種方式...

前言實現客戶端與服務端間通訊,在傳輸層協議 TCP 或 UDP 的基礎上,定義客戶端與服務端都能識別資訊的一套規則:一方進行編碼,另一方進行解碼,這便是【協議】。在 Redis 中,定義了簡單的 RESP(REdis Serializ...

程式的執行過程原來是這樣!

程式的執行過程原來是這樣!

計算機的設計目標是讓程式高效、穩定、安全的執行,因此一個程式的執行涉及作業系統和幾乎所有計算機核心硬體。對於計算機初學者而言,簡單瞭解一個程式的執行過程可以更好的理解作業系統、計算機組成等專業課程從原始碼到機器指令在瞭解程式是怎麼執行...

Tomcat原始碼解析,深入探索:Tomcat 類載入機制底層邏輯!

Tomcat原始碼解析,深入探索:Tomcat...

前言在探究 Tomcat 類載入機制之前,讓我們重溫一下 Java 預設的類載入器,加深對其的理解。 如同作者在《深入理解 Java 虛擬機器》第二版中所言,類載入機制對於理解 Java 執行時環境至關重要。什麼是類載入機制Java ...

Redis數據結構的底層原理及應用場景

介紹redis是一種常用的記憶體資料庫,對於使用者如果能從底層瞭解到各種資料型別的底層原理,可以讓我們能在特定的業務場景下選擇正確的資料型別。同時redis資料型別也是面試中頻繁出現的面試題,接下來大家可以帶著以下幾個問題來閱讀整篇文...

《黑神話》是什麼程式語言開發的?不是C++!

《黑神話》是什麼程式語言開發的?不是C++!

最近看到很多人討論這個,也有一些分析的文章,但是我認為最靠譜的還是來自知乎的一篇分析, 作者把黑神話逆向,解包之後,得出的結論是:黑神話的指令碼方案是魔改的USharp,自己實現了mono/clr/il2cpp的執行模式,且支援全平臺...

Redis過期時間機制底層原理以及AOF、RD...

在 Redis 中,鍵的過期時間設計與實現是一個重要的功能,這使得 Redis 可以自動刪除在指定時間後不再需要的鍵。下面詳細介紹 Redis 過期時間的設計和實現,包括設定過期時間、過期鍵的儲存結構、過期鍵的刪除策略等。1. 設定過...

深入解析Java中的ReentrantLock...

Java中的ReentrantLock是java.util.concurrent.locks包中的一個核心類,廣泛應用於高併發場景中。相比於傳統的synchronized關鍵字,ReentrantLock提供了更靈活的鎖操作控制。本文...

從索引的結構「B+樹」角度分析為什麼索引匹配按...

最左匹配原則是B+樹索引的一個重要特性,它指的是在使用複合索引(即包含多個列的索引)時,查詢條件必須從索引的最左邊列開始才能利用索引。下面我們從B+樹索引的結構角度來解釋為什麼會有最左匹配原則。B+樹索引結構B+樹索引是一種廣泛使用的...

SpringBoot Gateway的前置過濾...

Spring Cloud Gateway 基於WebFlux框架使用非阻塞API。它主要透過路由定義來決定請求如何被處理。每個路由可以指定一個或多個過濾器,這些過濾器可以修改請求和響應。前置過濾器:這些過濾器在請求實際被路由到下游服務...