偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

細述 Java垃圾回收機制→Java Garbage Collection Introduction

開發(fā) 后端
這篇文章將會介紹一些基本術語,如:JDK,JVM,JRE,HotSpot VM,以及理解JVM的架構和Java堆內(nèi)存結構。在開始學習Java垃圾回收機制之前確實有必要了解一下關鍵的Java術語。

 計劃寫一個介紹Java垃圾回收基礎的系列文章,共分四部分:

  1. Java垃圾回收簡介
  2. Java垃圾回收器是如何工作的?
  3. 各種類型的Java垃圾回收器
  4. Java垃圾回收的監(jiān)控和分析

本文是這個系列的第一篇文章,這篇文章將會介紹一些基本術語,如:JDK,JVM,JRE,HotSpot VM,以及理解JVM的架構和Java堆內(nèi)存結構。在開始學習Java垃圾回收機制之前確實有必要了解一下這些基本東西。

關鍵的Java術語

  • Java API–一個幫助程序員創(chuàng)建Java應用的打包好的庫集合
  • Java Development Kit(JDK)–一個使得程序員能夠開發(fā)Java應用的工具集合
  • Java Virtual Machine(JVM)–JVM是一個抽象的計算機。Java程序是針對JVM規(guī)范寫的。JVM是根據(jù)不同的操作系統(tǒng)平臺實現(xiàn)的,它將Java指令翻譯成對應平臺上的指令,并執(zhí)行。這樣Java程序能夠達到平臺獨立性。
  • Java Runtime Environment(JRE)–JRE由一個JVM的實現(xiàn)和Java API組成。

Java HotSpot虛擬機

每個JVM的實現(xiàn)在對垃圾回收的原理的實現(xiàn)方式上會有一些不同。在收購SUN之前Oracle有JRockit JVM,收購SUN之后有了HotSpot虛擬機。目前Oracle同時維護了這兩個虛擬機,并宣稱將來會將兩個虛擬機合并。

HotSpot虛擬機是Oracle標準版平臺的核心組成部分。在本垃圾回收系列文章中我們將通過HotSpot虛擬機來了解垃圾回收的基本準則。

JVM 架構

下面的這幅圖概括了一個JVM中的主要組成。在JVM架構中,堆內(nèi)存和垃圾回收器這兩個部分和垃圾回收相關。堆內(nèi)存是運行時用來存儲實例對象的數(shù)據(jù)空間,垃圾回收器運行在堆內(nèi)存上?,F(xiàn)在我們大概知道它們是怎樣的一個工作模式。

 

Java 堆內(nèi)存

在Java的內(nèi)存模型中,最重要的是要了解堆內(nèi)存的概念。運行時的Java實例對象存儲在堆內(nèi)存空間中。當一個對象不再被引用了,它變成可被從堆內(nèi)存中回收空間。在垃圾回收的過程中,這些對象將被從堆內(nèi)存中清除,同時它們的空間也就被回收了。堆內(nèi)存的空間主要分成了三部分,

  1. 年輕代
    a, Eden區(qū)(所有實例在運行時最初都分配到eden區(qū)中)
  2. b, S0 Survivor Space(老一些的對象被從eden區(qū)移動到S0區(qū),其實是eden區(qū)中的對象經(jīng)過一次對eden區(qū)的Young GC還存活的對象被移動到S0)
    c, S1 Survivor Space(再老一些的對象被從S0區(qū)移動到S1區(qū),其實是在Young GC過程中S0區(qū)已滿,則會將eden區(qū)中還存活的對象和S0區(qū)中的存活對象移動到S1區(qū)中)
  3. 老年代(經(jīng)過S0,S1中幾輪迭代后還存活的對象被提升到老年代)
  4. 永久代(包含一些元數(shù)據(jù)像類、方法等等

永久代空間在Java SE8特性中已經(jīng)被移除

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2016-08-11 14:49:34

Java垃圾回收機制異常

2016-08-11 15:46:58

Java垃圾回收機制原理

2016-08-11 15:02:54

Java垃圾回收機制內(nèi)存

2025-05-28 03:00:00

2009-06-23 14:15:00

Java垃圾回收

2011-07-04 16:48:56

JAVA垃圾回收機制GC

2015-06-04 09:38:39

Java垃圾回收機

2011-06-28 12:39:34

Java垃圾回收

2010-10-13 10:24:38

垃圾回收機制JVMJava

2010-09-26 14:08:41

Java垃圾回收

2017-08-17 15:40:08

大數(shù)據(jù)Python垃圾回收機制

2010-09-25 15:33:19

JVM垃圾回收

2017-03-03 09:26:48

PHP垃圾回收機制

2021-11-05 15:23:20

JVM回收算法

2010-09-25 15:26:12

JVM垃圾回收

2021-05-27 21:47:12

Python垃圾回收

2010-09-16 15:10:24

JVM垃圾回收機制

2024-10-28 13:18:54

2017-06-12 17:38:32

Python垃圾回收引用

2021-02-26 05:24:35

Java垃圾回收
點贊
收藏

51CTO技術棧公眾號