原创 你真的瞭解線程安全嗎?

冰凍三尺,非一日之寒 前言 線程安全,這個名詞如同一座大山,經常出現在我們的工作,以及面試中。也許,關於線程安全的面試題你早已就倒背如流,但是,你真的瞭解線程安全嗎? 今天,我們回到最初的原點,從最基礎的角度來看線程安全。 線

原创 面試官大大你看,我不僅會 LRU 的原理,還能手寫 LRU,錄取我吧!

1 談談頁面置換算法 頁面置換算法指示了在將新頁面載入內存時,如何選擇合適的舊頁面進行淘汰。 爲什麼要使用頁面置換算法呢?在操作系統中,內存不夠時,我們需要對舊內存進行淘汰。 在計算機體系中,硬盤容量大且可靠,內容也可以固化,不過

原创 大廠面試官讓我設計一個死鎖,我的方案是這樣的

題目 面試官:給你15分鐘,設計一個死鎖,應該問題不大吧 我:。。。。 代碼 public class Test implements Runnable{ private static Object obj1 = new O

原创 深入淺出 Java 虛擬機(四)GC

本文章爲《深入淺出 Java 虛擬機》系列課程學習筆記,侵刪。學習地址爲 深入淺出 Java 虛擬機 1 垃圾回收? 按照語義上的意思,垃圾回收,首先就需要找到這些垃圾,然後回收掉。但是 GC 過程正好相反,它是先找到活躍的對

原创 深入淺出 Java 虛擬機(二)類加載機制及深入解析字節碼

本文章爲《深入淺出 Java 虛擬機》系列課程學習筆記,侵刪。學習地址爲 深入淺出 Java 虛擬機 1 類加載過程 類的加載過程非常複雜,主要有這幾個過程:加載、驗證、準備、解析、初始化。在大多數情況下,類會按照圖中給出的順

原创 深入淺出 Java 虛擬機(三)OOM

本文章爲《深入淺出 Java 虛擬機》系列課程學習筆記,侵刪。學習地址爲 深入淺出 Java 虛擬機 1 JVM 中如何進行垃圾回收? JVM 的 GC 動作並不受程序控制,它會在滿足條件的時候,自動觸發。 在發生 GC 的時

原创 對 HTTP 和 HTTPS 協議的詳細解析

1 什麼是 HTTP? HTTP 協議即超文本傳輸協議,是用於從萬維網服務器傳輸超文本到本地瀏覽器的傳送協議。 HTTP 是基於 TCP/IP 通信協議來傳遞數據的。HTTP 協議工作於客戶端-服務端架構之上,瀏覽器作爲 HTTP

原创 Java 基礎面經(二)

1 淺拷貝與深拷貝 關於 Java 中的對象克隆,有直接賦值、淺拷貝、深拷貝三種方式。 直接賦值:例如 Person a = new Person();Person b = a;,這種方法僅僅拷貝了對象引用地址,並沒有在內存中生

原创 深入淺出 Java 虛擬機(一)JVM 基礎與其內存管理

本文章爲《深入淺出 Java 虛擬機》系列課程學習筆記,侵刪。學習地址爲 深入淺出 Java 虛擬機 1 如何理解 JVM ? JVM,又稱 Java Virtual Machine,Java 虛擬機。它能識別 .class

原创 Spring Cloud 入門系列八 -- 配置中心 Config 之構建服務端與客戶端

1 場景導入 在分佈式系統中,每個項目都具有各種各樣的配置文件,隨着我們的不斷開發,服務增加,配置文件也在不斷增加。每一次對服務信息的修改,都會導致更新與重啓。爲解決這個問題,我們急需新的解決方案,配置中心就這樣進入了我們的視野。

原创 Spring Cloud 入門系列十 -- 分佈式鏈路監控 Spring Cloud Sleuth

1 前言 在分佈式系統中,往往有着許多服務,又由於請求可能會調用很多個服務以及業務的複雜性,在出現了錯誤之後,我們可能很難去定位。因此,在微服務架構中,我們需要實現分佈式鏈路監控,去跟進一個請求有哪些服務參與以及它們的調用順序,

原创 分佈式鎖的實現方式

1 前言導入 在單機應用中,如果需要對一個共享變量進行多線程同步訪問,那麼使用我們之前所學的 Java 多線程知識即可。但是隨着業務的發展,漸漸從單機演變成了集羣,一個應用可能被部署到幾臺機器上,我們原來的那一套可就不靈了。究其原

原创 LeetCode分析與題解 31-40

LeetCode31 下一個排列 實現獲取下一個排列的函數,算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排列成最小的排列(即升序排列)。 必須原地修改,只允許使用額外常數空

原创 Spring Cloud 入門系列九 -- 配置中心 Config 之服務化與自動刷新機制

1 配置中心爲什麼需要服務化 在我的前一篇博客中,客戶端直接從配置中心的服務端獲取配置信息。當然也不是說這種模式不行,但不覺得這種模式服務端與客戶端的耦合度實在是太高了嗎?這完全不符合 Spring Cloud 服務治理的理念。那

原创 計算機網絡系列一 -- OSI 七層模型與物理層基本概念

1 在瀏覽器輸入一個地址並回車,會發生什麼? 在計算機網絡系列課程中,我將以一個簡單的問題開頭,如果我們在瀏覽器輸入一個地址並回車,會發生什麼?弄懂這個問題,對我們弄懂計算機網絡的原理有很大的幫助。 瀏覽器會根據 DNS 協議會