JVM参数设置-Xss_不停的奔跑-程序员宅基地_jvm xss参数

技术标签: JVM  jvm  

-Xss

解释

设置栈内存的大小,设置的栈的大小决定了函数调用的最大深度

-Xss 设置的大小决定了函数调用的深度,如果函数调用的深度大于设置的Xss大小,那么将会抛“java.lang.StackOverflowError“ 异常,下面我们来演示一下

官方文档

-Xss size
Sets the thread stack size (in bytes). Append the letter k or K to indicate KB, m or M to indicate MB, or g or G to indicate GB. The default value depends on the platform:
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/x64 (64-bit): 1024 KB
Windows: The default value depends on virtual memory
The following examples set the thread stack size to 1024 KB in different units:

-Xss1m
-Xss1024k
-Xss1048576
测试代码:
package com.jvm;

/**
 * @Author YKF
 * @Date 2020/9/20 4:31 下午
 * @Version 1.0
 */
public class StackOverflowErroTest {
    

    private static long count = 0;

    private static void demo() {
    
        System.out.println(count++);
        demo();
    }

    public static void main(String[] args) {
    
        StackOverflowErroTest.demo();
    }
}
设置-Xss为1024k输出情况如下图,我们可以看到当出count递归调用7625次后将会抛出栈溢出异常。

设置xss为1024
栈溢出

设置-Xss为512k输出情况如下图,我们可以看到当出count递归调用3707次后将会抛出栈溢出异常。

设置-Xss为512k

栈溢出

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38275944/article/details/108694623

智能推荐

Linux安装Mysql8.0_jinhu424的博客-程序员宅基地

**Linux安装Mysql8.0**安装环境:AliyunLinux(阿里的linux系统64位)cat /etc/os-releasegetconf LONG_BIT首先看看系统中有没有自带有mysql的东西,有就先删除掉。查看:find / -name mysql删除:rm -rf 上边查找到的路径,多个路径用空格隔开#或者下边一条命令即可find / -nam...

关于IOS中音频自动播放的问题_章木木的博客-程序员宅基地_ios音频自动播放

关于音频自动播放的问题HTML audio IOS兼容问题IOS系统中audio自动播放问题使用场景是在微信浏览器配置var o={debug: false,appId: ‘<?php echo $signPackage["appId"];?>’,timestamp: ‘<?php echo $signPackage["timestamp"];?>’,nonceStr: ‘<?php echo $signPackage["nonceStr"];?>’,

C# 调用PowerShell方法_iteye_19076的博客-程序员宅基地

原帖地址:http://www.cnblogs.com/BoyceYang/archive/2013/06/13/3133454.htmlPowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了1.创建一个powershell的方法,供C#调用,方法很简单...

Linux 下远程桌面客户端软件-rdesktop_Chiloudy的博客-程序员宅基地

原文出自:http://hi.baidu.com/liuhelishuang/item/cf3b614a4a35020dc1161392首先安装Linux 下远程桌面客户端软件-rdesktop打开终端执行sudo apt-get install rdesktop远程连接XP 系统(前提是windows xp 必须打开并且允许远程用户登录)rdesktop serverIP 或者rdesk

怎样去掉视频片头片尾?教你用最简单的方法轻松剪辑_m0_61166673的博客-程序员宅基地

在看到很多的视频开头几秒不需要,结尾也是不需要的,如何给它删除几秒呢?视频剪辑高手可以支持同时剪辑吗?这个肯定是可以了,下面一起来看操作方法。准备几个视频保存在同一文件夹中,双击一个播放,预测需要把片头及片尾各删减3秒。开始操作:在电脑上打开视频剪辑高手,在批量剪辑视频功能原视频地址栏中导入视频,多个视频,一行一个导入完成后,在新视频选项中设置,打勾“片头减时”、“片尾减时”,并设置好秒数,同时剪辑然后设置好新视频的格式选项,及点“浏览”设置保存的位置确...

C语言中rvfsu是什么意思,C语言第4讲-C语言编程三结构.ppt_ying yin liang的博客-程序员宅基地

C语言第4讲-C语言编程三结构C 语句可以分为5类: 1、控制语句----9种 2、函数调用语句 3、表达式语句 4、空语句---什么也不做 5、复合语句----用{}括起来 复合语句:用 {…}括起来的一组语句 一般形式:{ 执行语句部分; } 说明: “}”后不加分号 语法上和单一语句相同 复合...

随便推点

android+5.0+彩蛋+华为,华为隐藏系统怎么弄_南大鳥的博客-程序员宅基地

满意答案华为隐藏系统怎么弄?更多视频华为手机怎么隐藏应用名字可以使用关注随着信息技术的发展,手机已经发展成人们的必备物品,使用手机的频率也越来越高,手机里存储的资料也很多,人们越来越重视隐私,那么怎么才能隐藏应用呢?怎么才能快捷的进入自己的隐私空间呢?这里一起探讨下:华为手机怎么隐藏应用?如果对您有帮助请帮忙点赞,谢谢...展开工具原料安卓系统:EMUI:7.0.0手机型号:华为Mate20方法/...

K8s 集群内 containerd 、 docker 的区别_Yonself的博客-程序员宅基地_containerd

K8s 集群内 containerd 、docker 的区别前景提要Docker 技术使用 Linux 内核和内核功能(例如 Cgroups 和 namespaces)来分隔进程,以便各进程相互独立运行。这种独立性正是采用容器的目的所在;它可以独立运行多种进程、多个应用,更加充分地发挥基础设施的作用,同时保持各个独立系统的安全性。为了防止docker一家独大,docker当年的实现被拆分出了几个标准化的模块,标准化的目的是模块是可被其他实现替换的,不由任何一个厂商控制。docker由 do.

React Native CodePush实践小结_weixin_34077371的博客-程序员宅基地

前言CodePush是微软提供的一套可用于React Native和Cordova的热更新服务,国内也有类似的服务Pushy,从关注度和使用人数来说,CodePush完胜于Pushy(截至目前,CodePush在Github上Star数2900+,Pushy Star数600+,毕竟大公司的产品更让开发者心里有底,但CodePush是否...

snmp4j获取mysql信息_使用Snmp++获取MIB表_shashashalalala的博客-程序员宅基地

Snmp++是一套强大的网络管理应用开发包。它提供了Snmp网管协议所描述的所有命令,并且提供SMI数据类型的解析。MIB数据包含普通数据和表数据。在提取表数据时,由于表项的数量和Oid都不确定,所以不能通过某个特定的Oid直接获得取值。通常,关于Snmp的书上都会介绍使用GetNext命令来实现表的遍历,这种方法比较简单,这里主要讨论该算法的原理和如何用Snmp++实现。MIB表是通过行和列来描...

mdp matlab,Reinforcement Learning 强化学习_夜空中筱晴的星的博客-程序员宅基地

ReinforcementLearning强化学习一、ReinforcementLearning的基本概念及原理强化学习是一种非监督式学习方法。其主要作用是通过样本数据(sanpledata),训练出最优的决策方案。它可以看做是对Markov DecisionProcess(MDP)进行决策优化的学习算法。MDP模型中的变量有:S: 状态集合(states);A: 决策集合(actions);P...

推荐文章

热门文章

相关标签