JVM

JVM 堆記憶體溢位後,其他執行緒是否可繼續工作

背景 最近網上出現一個美團面試題:“一個執行緒OOM後,其他執行緒還能執行嗎?”。我看網上出現了很多不靠譜的答案。這道題其實很有難度,涉及的知識點有jvm記憶體分配、作用域、gc等,不是簡單的是與否的問題。

深入JVM垃圾回收演算法

1. 標記——清除演算法(Mark-Sweep) 標記——清除演算法是第一種使用和比較完善的垃圾回收演算法,演算法分為兩個過程:1、標記正所有需要回收的物件2、標記完成後清除被標記的物件。其標記的過程就是判

深入JVM物件引用

在jdk 1.2以前,建立的物件只有處在可觸及(reachaable)狀態下,才能被程式所以使用,垃圾回收器一旦發現無用物件,便會對其進行回收。但是,在某些情況下,我們希望有些物件不需要立刻回收或者說從全域性的

深入JVM類載入機制

從ClassLoad開始說起 ClassLoader顧名思義就是我們所常見的類載入器,其作用就是將編譯後的class檔案載入記憶體當中.在應用啟動時,JVM通過ClassLoader載入相關的類到JVM當中

深入JVM位元組碼執行引擎

我們都知道,在當前的Java中(1.0)之後,編譯器講原始碼轉成位元組碼,那麼位元組碼如何被執行的呢?這就涉及到了JVM的位元組碼執行引擎,執行引擎負責具體的程式碼呼叫及執行過程。就目前而言,所有的執行引擎的基

JDK動態代理的實現原理以及如何手寫一個JDK動態代理

動態代理 代理模式是設計模式中非常重要的一種型別,而設計模式又是程式設計中非常重要的知識點,特別是在業務系統的重構中,更是有舉足輕重的地位。代理模式從型別上來說,可以分為靜態代理和動態代理兩種型別。 在

【淺度渣文】JVM——G1收集器

Java是Sun Microsystems在1995年首次釋出的程式語言和計算平臺。它是支援Java程式(包括通用工具,遊戲和商業應用程式)的基礎技術。 Java執行在全世界超過8.5億臺個人計算機上,並在全球

jvm系列之垃圾收集演算法

jvm系列之垃圾收集演算法 1 標記-清除演算法 標記-清除演算法是最基礎的演算法,演算法分為標記和清除兩個階段,首先標記出要清除的物件,在標記完後統一回收所有被標記的物件,標記方式為j《jvm系列之垃

JVM執行時資料區

根據 JVM 規範,JVM 記憶體共分為 虛擬機器棧、堆、方法區、程式計數器、本地方法棧 五個部分。 記憶體空間(Runtime Data Area)中可以按照是否執行緒共享分為兩塊,執行緒共享的是方法

Java GC機制詳解

垃圾收集 Garbage Collection 通常被稱為“GC”,本文詳細講述Java垃圾回收機制。 導讀: 1、什麼是GC 2、GC常用演算法 3、垃圾收集器 4、finalize()方

1718548670.7164