事务引擎中使用一个核心类。我对大量并发事务进行了测试,这导致了致命的堆栈溢出异常。我想知道是否有任何方法可以测量有多少堆栈内存可用,以避免出现异常。
我正在研究一种动态的方法,因为对并发事务的数量设置硬性限制并不理想。
试试Java VisualVM。它来自Oracle,并包含在JDK中。你可以在这里找到:
${JDK}/bin/jvisualvm.exe
您想了解的关于Java应用程序性能的几乎所有信息都可以通过这个观察到。
如果你需要的话,这里有一个快速教程,尽管它实际上不需要太多解释。
您可以使用-Xss
参数设置Java程序的堆栈大小(或"-XX:ThreadStackSize
,请参阅Java HotSpot VM选项)。
但是,一旦设置好,就不能动态更改Java堆栈大小。