日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

[译]Java 垃圾回收介绍

發布時間:2023/12/13 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译]Java 垃圾回收介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明:這篇文章來翻譯來自于Javapapers 的Java Garbage Collection Introduction

在Java中,對象內存空間的分配與回收是由JVM中的垃圾回收進程自動完成的。和C語言不一樣的是,開發中不需要在Java中寫垃圾回收代碼。這也是使Java更加流行而且幫助開發中寫出更好的Java應用程序的Java特性之一。

下面是關于Java 垃圾回收的基礎介紹的四個系列文章。

1.Java垃圾回收介紹

2.Java垃圾回收是如何工作的

3.Java垃圾回收器的類型

4.Java垃圾回收的監控和分析

這篇文章是四個系列指南的第一部分。它將首先解釋像JDK、JVM、JRE、HotSpot VM這樣的名詞,然后介紹JVM架構以及Java堆內存結構。因為在理解Java垃圾回收之前這些是一些了解的基礎。

主要的Java名詞

  • Java API:幫助開發者創建應用程序封裝庫的集合

  • Java Development Kit (JDK) :使開發者能夠創建Java應用程序的工具集。JDK包含了能夠編譯、運行、打包、發布和監控Java應用程序的工具。

  • Java Virtual Machine (JVM) :JVM是一個抽象的計算機,Java程序是根據JVM規范來寫的。JVM是根據操作系統平臺來寫的,而且他們負責將java指令翻譯成底層平臺的規范指令并且運行他們。JVM使java程序保存平臺無關系。
  • Java Runtime Environment (JRE) :JRE由JVM實現和Java API組成。

Java HotSpot 虛擬機

每一個JVM的在垃圾回收方式的實現上可能是不同的。以前SUN被Oracle收購以前,他們使用JRockit JVM,但是在被Oracle收購之后,改成了HotSpot JVM。目前,Oracle擁有了這兩個JVM的實現,而且他們聲稱經過一段時間之后他們會把這兩個虛擬機的實現整合成一個。

HotSpot JVM已經作為了Oracle SE平臺的核心組件的一部分。在這個垃圾回收指南中,我們將看到基于HotSpot虛擬機的垃圾回收機制。

JVM 架構

下面的這張圖包含了在一個JVM中的核心組件。在一個JVM架構中,和垃圾回收相關的兩個主要組件是堆內存和垃圾回收器。堆內存是運行時數據區,就是實例存放的地方并且由垃圾回收器來來管理。現在我們就來了解這些東西是如何在更大的設計中相適應的。

Java堆內存

理解對內存在JVM內存模型中角色是很有必要的。在運行時Java實例被存儲在堆內存區。當一個對象不再被其他對象所引用的時候,它將會被從堆內存中回收。在垃圾回收進程中,這些對象被從堆內存中回收而且空間被釋放。堆內存只要有三個主要的區域:

  • 1.年輕代(Young Generation)
    • 1.Eden Space(任何進入運行時內存都會經過Eden區)
    • 2.S0 Surivior Sapce(從Eden移到S0的實例對象)
    • 3.S1 Surivior Sapce(從S0移到S1的更老實例對象)
  • 2.老年代(Old Generation ,從S1到的區域)
  • 3.永久代(Permanent Generation,包含像類、方法詳情的元數據信息)

更新:永久代(Permgen)區已經從Java SE8 功能被移除了

轉載于:https://www.cnblogs.com/zhangminghui/p/4126513.html

總結

以上是生活随笔為你收集整理的[译]Java 垃圾回收介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。