对于以下无操作代码,

public class a {
public static void main(String args[]) throws Exception{
Thread.sleep(100000);
}
}

如果我在64位jvm上运行它,则可以通过“top”看到它使用2GB的虚拟内存。什么占用了该虚拟内存?这个例子可能很奇怪,但是我们确实看到一些使用大量虚拟内存的生产代码,因此它超出了ulimit -v

谢谢

最佳答案

虚拟内存并不意味着它实际上已经被分配和使用。它只是意味着它具有当前可寻址的大量资源(如果需要)。

10-02 01:11
查看更多