jvm栈大小设置

news/2024/7/7 10:15:38

1、栈内存大小设置

栈内存为线程私有的空间,每个线程都会创建私有的栈内存。栈空间内存设置过大,创建线程数量较多时会出现栈内存溢出StackOverflowError。同时,栈内存也决定方法调用的深度,栈内存过小则会导致方法调用的深度较小,如递归调用的次数较少。

-Xss:如-Xss128k

通常只有几百K
决定了函数调用的深度
每个线程都有独立的栈空间

局部变量、参数 分配在栈上

2、递归调用


  
  1. package com.thread.study;
  2. public class Stack {
  3. private static int count= 0;
  4. public static void recursion(long a,long b,long c){
  5. long e= 1,f= 2,g= 3,h= 4,i= 5,k= 6,q= 7,x= 8,y= 9,z= 10;
  6. count++;
  7. recursion(a,b,c);
  8. }
  9. public static void main(String args[]){
  10. try{
  11. recursion( 0L, 0L, 0L);
  12. } catch(Throwable e){
  13. System.out.println( "deep of calling = "+count);
  14. e.printStackTrace();
  15. }
  16. }
  17. }

-Xss128k:deep of calling = 306

-Xss256k:deep of calling = 761


http://www.niftyadmin.cn/n/4428417.html

相关文章

unable to connect to :5555

有可能批处理文件用的adb和eclipse的adb不兼容。把你的批处理文件用的adb换成eclipse的adb就可以了: 运行结果: 转载于:https://www.cnblogs.com/johnsonwei/p/5965643.html

固执的程序员学习函数式编程的收获 之 一

最近因为写node js,开始有机会接触js的函数式写法。关于函数式语言,其实久闻其名,但只是大概了解过一些概念罢了。刚开始听到这个概念觉得不会就是面向过程编程的改良版吧?(自己还是太无知了…) 由于自己的编程语言主…

固执的程序员学习函数式编程的收获 之 二 说说monad

之前说了函数式编程的收获。比如说函数可以当作变量,然后尽量避免写副作用的程序。 之后可以说遇到了一个超级难理解的东西–monad。 一切要从和小田君的对话说起 当我在写java时,大概是下面的一段代码 List.map( item -> item.getName()); List.…

MAYA影视动漫高级模型制作全解析出_完整版PDF电子书下载 带索引书签目录高清版...

MAYA影视动漫高级模型制作全解析_页数384_出版日期2016.04_完整版PDF电子书下载 带索引书签目录高清版_13936277 下载链接 http://pan.baidu.com/s/1skA4FZf 【作 者】CGWANG动漫教育著【形态项】 384【出版项】 北京:人民邮电出版社 , 2016.04【ISBN号】7-115-41…

自己写deque

//deque /* what is a deque? In Chinese, its called "双端队列". Its different from a queue. Its elements can be added to or removed from either the front(head) or back(tail) ,called a head-tail linked list.输入限制deque An input-restricted deque …

ddd的战术篇: CQRS

之前的文章介绍了ddd在战术层面的要素,包括entity,value object,aggregate和一些设计模式如repository。在ddd中,repository几乎成为了等同于entity一样的基本要素。 关于aggregate与repository的回顾 aggregate是entity和value…

领域驱动设计(domain driven design)战略篇之一 战略 Bounded Context

之前的文章主要从战术层面的角度介绍了ddd。在岛国也被称为轻量级ddd。它提供了一些概念如aggregate, entity, domain event和一些设计模式如repository, specification来帮助我们建模和设计。各种战术还有能够扩展的地方,有机会还会再写下去。不过从这篇文章开始会…

Linux系统设置Tab键缩进为4个字符

Linux系统设置Tab键缩进为4个字符经常使用vi/vim的朋友可能会遇到,写脚本的时候发现按一次Tab键就缩进8个字符(默认是8个字符),这样感觉缩进有点长了,这里我们可以设置下按一次Tab键,让它缩进4个字符&#…