Java 堆栈的内存分配&;堆

Java 堆栈的内存分配&;堆,java,memory-management,Java,Memory Management,当我使用xms和xmx指定内存时,它是只为堆分配内存还是包括所有用途的内存 我遇到的问题是,若xmx只用于堆,那个么我们如何限制java的总内存分配 如果我指定了xss选项,那么这将是对xmx分配的补充吗?分配给堆栈的内存和分配给堆的内存是分开处理的,是的。@perception:但如果我只指定了xmx选项,那么堆栈将从xmx中取出内存吗?如果没有,那么我如何限制jvm的总内存分配?如果忽略堆栈大小,它将使用与平台和VM相应的默认值。为堆栈分配的内存是为堆分配的内存之外的内存。如果您用-xss覆

当我使用xms和xmx指定内存时,它是只为堆分配内存还是包括所有用途的内存

我遇到的问题是,若xmx只用于堆,那个么我们如何限制java的总内存分配


如果我指定了xss选项,那么这将是对xmx分配的补充吗?

分配给堆栈的内存和分配给堆的内存是分开处理的,是的。@perception:但如果我只指定了xmx选项,那么堆栈将从xmx中取出内存吗?如果没有,那么我如何限制jvm的总内存分配?如果忽略堆栈大小,它将使用与平台和VM相应的默认值。为堆栈分配的内存是为堆分配的内存之外的内存。如果您用-xss覆盖默认堆栈大小,那么您就是在有效地设置程序要使用的总内存。@perception:我理解您关于默认值的观点,但它会从xmx中取出这个内存块吗?或者它将是对xmx的补充?不,它将是另一种内存分配,与分配给堆的内存不同。