为什么我们必须增加Java堆?

4 java

我知道如何在Tomcat和Eclipse中设置Java堆大小.我的问题是为什么?在Java首次引入时,是否在初始堆上设置了任意限制,因此VM不会增长到一定的大小?现在大多数机器似乎都有大容量存储空间,这不是我们应该处理的事情.
谢谢,汤姆

Jon*_*eet 5

即使是现在,堆也不会无限制地增长.

当最老一代已满时,您应该扩展它还是仅仅GC?或者,如果GC不释放任何内存,您应该只展开它吗?

.NET采用你喜欢的方法:你不能告诉它只使用一定数量的堆.有时感觉这是一个更好的主意,但有时候能够在同一台机器上拥有两个进程并且知道它们都不能占用整个内存是很好的...

  • 通常我希望将此视为操作系统功能.在不同版本的Unix中,您可以限制进程或用户内存使用.它有助于保持机器响应.在.NET的情况下,单个应用程序可以占用所有内存,机器可能会变得非常繁忙,甚至无法让任务管理器将其终止.所以尽管Java的模型看起来已经过时了,但我真的很喜欢它 - 如果有些东西需要那么多的内存,我想提前知道并且明知地分配一个众所周知的最大值. (2认同)