如何使用java代码计算堆栈大小? 有没有办法使用代码来计算堆栈大小?
答案 0 :(得分:0)
我认为没有标准或计算堆栈大小的方法。如果没有一些复杂的JVM特定API,您就无法做到这一点。所以,我认为你不应该这样做。
但是,有一种方法可以通过ss
选项调整VM中的最大堆栈大小。请参考:
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html#wp1024112
答案 1 :(得分:0)
如果您使用say链表创建堆栈,那么通过以下代码,您可以获得当前堆栈中元素的数量:
public int getSize() {
if (head == null) {
return 0;
}
int size = 0;
Node tmpNode = head;
while (tmpNode.next != null) {
size++;
tmpNode = tmpNode.next;
}
return size;
}
现在你可以通过将上面函数返回的大小乘以所需的因子来获得大小堆栈占用。 比如说堆栈只有整数值,然后堆栈占用的内存= 4 *大小;