你不知道的原型到原型鏈再到原型模式
一. 原型我的理解是,原型是一個物件。是一個什麼物件呢?是一個模板物件。其他物件可以透過這個模板物件繼承屬性和方法。假設有兩個物件 B 和 A,B 物件繼承了 A 物件,那麼 A 就是 B 的原型。我們透過這種機制實現了物件之間的共享...
一. 原型我的理解是,原型是一個物件。是一個什麼物件呢?是一個模板物件。其他物件可以透過這個模板物件繼承屬性和方法。假設有兩個物件 B 和 A,B 物件繼承了 A 物件,那麼 A 就是 B 的原型。我們透過這種機制實現了物件之間的共享...
前言實現客戶端與服務端間通訊,在傳輸層協議 TCP 或 UDP 的基礎上,定義客戶端與服務端都能識別資訊的一套規則:一方進行編碼,另一方進行解碼,這便是【協議】。在 Redis 中,定義了簡單的 RESP(REdis Serializ...
計算機的設計目標是讓程式高效、穩定、安全的執行,因此一個程式的執行涉及作業系統和幾乎所有計算機核心硬體。對於計算機初學者而言,簡單瞭解一個程式的執行過程可以更好的理解作業系統、計算機組成等專業課程從原始碼到機器指令在瞭解程式是怎麼執行...
這個問題對於看過執行緒池原始碼的同學應該已經知道答案了,沒有看過原始碼的也不要慌,現在我們就一起看一下執行緒池執行緒的保活策略。一、執行緒池中在哪執行任務首先進入ThreadPoolExecutor的execute方法。首先檢查當前工...
前言在探究 Tomcat 類載入機制之前,讓我們重溫一下 Java 預設的類載入器,加深對其的理解。 如同作者在《深入理解 Java 虛擬機器》第二版中所言,類載入機制對於理解 Java 執行時環境至關重要。什麼是類載入機制Java ...
介紹redis是一種常用的記憶體資料庫,對於使用者如果能從底層瞭解到各種資料型別的底層原理,可以讓我們能在特定的業務場景下選擇正確的資料型別。同時redis資料型別也是面試中頻繁出現的面試題,接下來大家可以帶著以下幾個問題來閱讀整篇文...
最近看到很多人討論這個,也有一些分析的文章,但是我認為最靠譜的還是來自知乎的一篇分析, 作者把黑神話逆向,解包之後,得出的結論是:黑神話的指令碼方案是魔改的USharp,自己實現了mono/clr/il2cpp的執行模式,且支援全平臺...
在 Redis 中,鍵的過期時間設計與實現是一個重要的功能,這使得 Redis 可以自動刪除在指定時間後不再需要的鍵。下面詳細介紹 Redis 過期時間的設計和實現,包括設定過期時間、過期鍵的儲存結構、過期鍵的刪除策略等。1. 設定過...
Java中的ReentrantLock是java.util.concurrent.locks包中的一個核心類,廣泛應用於高併發場景中。相比於傳統的synchronized關鍵字,ReentrantLock提供了更靈活的鎖操作控制。本文...
最左匹配原則是B+樹索引的一個重要特性,它指的是在使用複合索引(即包含多個列的索引)時,查詢條件必須從索引的最左邊列開始才能利用索引。下面我們從B+樹索引的結構角度來解釋為什麼會有最左匹配原則。B+樹索引結構B+樹索引是一種廣泛使用的...
Spring Cloud Gateway 基於WebFlux框架使用非阻塞API。它主要透過路由定義來決定請求如何被處理。每個路由可以指定一個或多個過濾器,這些過濾器可以修改請求和響應。前置過濾器:這些過濾器在請求實際被路由到下游服務...
我們SpringBoot應用都是透過SpringApplication.run()這一行程式碼啟動起來的,那麼我們有理由懷疑實現邏輯就在這個裡面應用跑起來-run() public ConfigurableApplicationCon...