是否可以为特定的新线程定义最大堆分配(考虑低于分配给 JVM 的最大堆大小的限制)?
示例:将虚拟机设置为 -Xms=24m -Xmx=48m
并以编程方式设置最大线程堆大小为 8m
最佳答案
不,你不能,只是因为堆在设计上是跨线程共享的。但是,如果您有堆栈溢出(特定于线程),则可以使用 -Xss 更改堆栈大小。除非你正在与 stackoverflow 作斗争,否则你不太可能需要改变它。
(但是,如果您确实需要这个,您可能会尝试进行托管堆外分配,从而使您能够控制内存的使用方式,但与对象相比,处理字节缓冲区非常不方便......)
关于java - 定义单个线程的最大堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172895/