大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java堆棧

Java堆棧溢出

背景知識:

棧存放什么:棧存儲運行時聲明的變量——對象引用(或基礎類型, primitive)內存空間, 棧的實現是先入后出的。

堆存放什么:堆分配每一個對象內容(實例)內存空間。

棧溢出:java.lang.StackOverflowError

堆溢出:java.lang.OutOfMemoryError: Java heap space

棧溢出實現,可以遞歸調用方法,這樣隨著棧深度的增加,JVM 維持著一條長長的方法調用軌跡。

堆溢出實現,可以循環創建對象或大的對象;

直到內存不夠分配,產生棧溢出。

棧溢出

兩種情況:

• 線程請求的棧深度大于虛擬機允許的最大深度 StackOverflowError

• 虛擬機在擴展棧深度時,無法申請到足夠的內存空間 OutOfMemoryError

堆溢出

創建對象時如果沒有可以分配的堆內存,就會出現堆溢出。

兩者實例如下:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class testCode {
    public void testHeap(){//堆溢出
        List<byte[]> list = new ArrayList<>();
        int i=0;
        while (true){
            list.add(new byte[5*1024*1024]);
            System.out.println("count is: "+(++i));
        }
    }
    int num = 1;
    public void testStack(){ //棧溢出
        num++;
        this.testStack();
    }
    public static void main(String[] agrs){
       testCode t = new testCode();
        t.testHeap();
        t.testStack();
    }
}

運行結果:

//堆溢出:
count is: 343
count is: 344
count is: 345
count is: 346
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at testCode.testHeap(testCode.java:14)
    at testCode.main(testCode.java:25)
//棧溢出:
StackOverflowError

• 1

• 2

另外,Java虛擬機的堆大小如何設置:命令行

java –Xms128m //JVM占用最小內存

       –Xmx512m //JVM占用最大內存

       –XX:PermSize=64m //最小堆大小

       –XX:MaxPermSize=128m //最大堆大小

• 1

• 2

• 3

• 4

• 5

• 6

全部教程
主站蜘蛛池模板: 国产成人久久综合热 | 国产一区在线观看视频 | 国产经典自拍 | 色视频网站人成免费 | 九九热九九热 | 久久不射网 | 久99久热只有精品国产99 | 在线成人播放毛片 | 夜鲁夜鲁夜鲁在线观看福利 | 青青青青青青久久久免费观看 | 99精品国产福利在线观看 | 亚1洲二区三区四区免费 | 久久久久久久久一级毛片 | 国产香蕉偷在线观看视频 | 国产精品自拍视频 | 免费一级a毛片免费观看欧美大片 | 亚洲国产一区视频 | 五月色婷婷亚洲精品 | 成人午夜大片 | 日韩在线第三页 | 五月天婷婷免费视频 | 国产精品香蕉在线观看首页 | 日韩久久中文字幕 | 牛牛影视午夜免费福利 | 亚洲综合精品成人啪啪 | 国产尤物在线播放 | 性性影院在线观看 | 一级毛片免费一级直接观看 | 波多野结衣中文字幕一区二区三区 | 久久99精品久久久久久久不卡 | 一区二区三区 日韩 | 成人伊人| 欧美日韩日本国产 | 天天躁狠狠躁 | 天天夜天天干 | bbw下身丰满18ⅹxxⅹ | 日本最新免费二区 | 色婷婷天天综合在线 | 亚州色拍拍拍 | 综合久久一区二区三区 | 天天操天天干视频 |