最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java垃圾回收jconsole分析

 更新時間:2023年07月24日 14:21:28   作者:用戶bPbc8gB  
這篇文章主要為大家介紹了Java垃圾回收jconsole分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

環(huán)境

jdk1.8+Mac+Idea

為了便于觀察我們設(shè)置了虛擬機的參數(shù)VM oprions,-Xms10m -Xmx10m

代碼案例1:

新建了一個數(shù)組,向里面添加100個OutOfMemory

package com.rumenz;
import java.util.ArrayList;
import java.util.List;
public class OutOfMemory {
    public byte []one=new byte[128*1024];
    public static void main(String[] args) throws InterruptedException {
            Thread.sleep(5000); //延時5秒,方便我們打開`jconsole`
            append(100);
    }
    private static void append(int n) throws InterruptedException {
        List<OutOfMemory> list=new ArrayList<>();
        for (int i = 0; i < n; i++) {
            Thread.sleep(3000); //拖慢添加速度,方便我們觀察
            list.add(new OutOfMemory());
        }
    }
}

運行程序后迅速打開jconsole,并找到自己編寫的類,點擊進入,選擇不安全鏈接

> jconsole

由于我們使用的是成員變量,所以垃圾回收器一致不能回收內(nèi)存,所以整個堆的內(nèi)存趨勢是一路上漲.

代碼案例2:

package com.rumenz;
import java.util.ArrayList;
import java.util.List;
public class OutOfMemory {
    public OutOfMemory() {
            byte []one=new byte[128*1024];
    }
    public static void main(String[] args) throws InterruptedException {
            Thread.sleep(5000);
            append(100);
    }
    private static void append(int n) throws InterruptedException {
        List<OutOfMemory> list=new ArrayList<>();
        for (int i = 0; i < n; i++) {
            Thread.sleep(3000);
            list.add(new OutOfMemory());
        }
    }
}

 與上面代碼的區(qū)別我們one變量有成員變量變成了局部變量. 局部變量在棧上分配內(nèi)存,當(dāng)方法結(jié)束,??臻g消失,棧上的變量或者引用地址將失效,本案例中one對象是分配在堆內(nèi)存上,??臻g的消失導(dǎo)致one對象無法被使用到,隨后就會被垃圾回收掉. 所以本案例的堆內(nèi)存變量將呈現(xiàn)出折線的效果.

以上就是Java垃圾回收jconsole分析的詳細內(nèi)容,更多關(guān)于Java垃圾回收jconsole的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談hibernate中懶加載禁用操作

    淺談hibernate中懶加載禁用操作

    這篇文章主要介紹了淺談hibernate中懶加載禁用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • java實現(xiàn)導(dǎo)出Excel的功能

    java實現(xiàn)導(dǎo)出Excel的功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)導(dǎo)出Excel的功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 解析Java實現(xiàn)設(shè)計模式六大原則之里氏替換原則

    解析Java實現(xiàn)設(shè)計模式六大原則之里氏替換原則

    里氏替換原則是用來幫助我們在繼承關(guān)系中進行父子類的設(shè)計。它闡述了有關(guān)繼承的一些原則,也就是什么時候應(yīng)該使用繼承,什么時候不應(yīng)該使用繼承,以及其中蘊含的原理。它是繼承復(fù)用的基礎(chǔ),反映了基類與子類之間的關(guān)系,是對開閉原則的補充,對實現(xiàn)抽象化具體步驟的規(guī)范
    2021-06-06
  • 淺談SpringBoot中的Bean初始化方法?@PostConstruct

    淺談SpringBoot中的Bean初始化方法?@PostConstruct

    這篇文章主要介紹了SpringBoot中的Bean初始化方法?@PostConstruct,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • IDEA搭建dubbo項目的過程及存在的問題

    IDEA搭建dubbo項目的過程及存在的問題

    這篇文章主要介紹了IDEA搭建dubbo項目及存在的問題小結(jié),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 基于Java SWFTools實現(xiàn)把pdf轉(zhuǎn)成swf

    基于Java SWFTools實現(xiàn)把pdf轉(zhuǎn)成swf

    這篇文章主要介紹了基于Java SWFTools實現(xiàn)把pdf轉(zhuǎn)成swf,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • logback.xml動態(tài)配置程序路徑的操作

    logback.xml動態(tài)配置程序路徑的操作

    這篇文章主要介紹了logback.xml動態(tài)配置程序路徑的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java獲取視頻時長、大小的示例

    Java獲取視頻時長、大小的示例

    這篇文章主要介紹了Java獲取視頻時長、大小的示例,幫助大家利用Java處理視頻,完成需求,感興趣的朋友可以了解下
    2020-11-11
  • Java對象進行深拷貝的五種方法實例代碼

    Java對象進行深拷貝的五種方法實例代碼

    這篇文章主要介紹了Java對象進行深拷貝的五種方法,分別是構(gòu)造函數(shù)、重載clone()方法、Apache?Commons?Lang序列化、Gson序列化和Jackson序列化,每種方法都給出了實例代碼,需要的朋友可以參考下
    2025-04-04
  • java中求高精度除法,要求保留N位小數(shù)

    java中求高精度除法,要求保留N位小數(shù)

    這篇文章主要介紹了java中求高精度除法,要求保留N位小數(shù)的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

竹北市| 石景山区| 司法| 海安县| 固原市| 法库县| 邮箱| 延庆县| 绥中县| 嘉义县| 凤山县| 余干县| 盐津县| 晋城| 天等县| 黑龙江省| 家居| 闵行区| 云和县| 永德县| 体育| 鸡东县| 新泰市| 彰化市| 保亭| 枝江市| 依安县| 德安县| 沙洋县| 南投市| 八宿县| 库尔勒市| 漳平市| 通河县| 金昌市| 宝坻区| 芦山县| 积石山| 靖西县| 错那县| 石城县|