我设置线程为1kb 但是copy的字节数是2kb为啥内存没有溢出呢?

我设置线程为1kb 但是copy的字节数是2kb为啥内存没有溢出呢
image.png
image.png

阅读 3.2k
4 个回答

创建对象和数组,都是在堆里分配内存,而局部变量的基本类型一般才是在栈里分配,所以xss一般够用,除非递归了很多次,可能导致栈空间不足

创建对象是向堆内存申请空间。

因为只有引用 buffer 在栈上,数组的内容byte[4096]在堆上
所以栈上并没有使用那么大的空间

新手上路,请多包涵

对象申请内存会尝试在栈上分配,经过逃逸分析后,如果对象未逃出方法的作用域且栈空间足够分配就会在栈上分配对象,方法执行完毕后直接释放内存。如果栈空间不够会在堆上分配

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题