java - 定义单个线程的最大堆大小

标签 java heap-memory

是否可以为特定的新线程定义最大堆分配(考虑低于分配给 JVM 的最大堆大小的限制)?

示例:将虚拟机设置为 -Xms=24m -Xmx=48m并以编程方式设置最大线程堆大小为 8m

最佳答案

不,你不能,只是因为堆在设计上是跨线程共享的。但是,如果您有堆栈溢出(特定于线程),则可以使用 -Xss 更改堆栈大小。除非你正在与 stackoverflow 作斗争,否则你不太可能需要改变它。

(但是,如果您确实需要这个,您可能会尝试进行托管堆外分配,从而使您能够控制内存的使用方式,但与对象相比,处理字节缓冲区非常不方便......)

关于java - 定义单个线程的最大堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172895/

相关文章:

java - 以流形式获取资源时的 NullPointer

C++ 参数堆与堆栈

java - 堆检查安全漏洞

java - Dropwizard 应用程序中出现断管异常

java - 创建一个没有ActionBar的后退按钮

没有打开窗口的Java Keylistener?

c++ - 我应该只为一个电话在免费商店上创建对象吗?

windows - 给eclipse更多的堆空间来编译项目?

java - 尽管我们可以继承它们,为什么我们转向访问父类(super class)成员?

java - if 语句中的数学问题