大战熟女丰满人妻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精品一区二区免费视频 | 国产野花视频天堂视频免费 | 一级毛片在线视频 | 日本一级片在线观看 | 久久精品伊人波多野结 | 中日韩欧美中文字幕毛片 | 国产精品九九 | 欧美一级成人毛片视频 | 91视频首页| 毛片xxx| 亚洲系列中文字幕一区二区 | 在线综合网 | 午夜私人影院粉色视频我要 | 久久福利资源网站免费看 | 日本一区二区三区欧美在线观看 | 伊人久久色 | 日韩每日更新 | 国产免费久久精品久久久 | 国内精品自在自线在免费 | jizz中国zz女人18 | 伊人222综合| 久久精品伦理 | 久热在线视频 | 久久免费看视频 | 手机看片日韩国产一区二区 | 精品视频在线免费看 | 日本h片a毛片在线播放 | 亚洲欧美日韩中文字幕在线一 | 亚洲视频在线观看免费 | 色综合欧美综合天天综合 | 99精品免费久久久久久久久日本 | 日本午夜色 | 中文字幕一区视频一线 |