我正在尝试使用LWJGL 2在Java中开发体素渲染引擎。
我正在从Eclipse启动应用程序,并在“运行配置”菜单中将初始堆大小设置为1024M,将最大堆大小设置为2048M。
当我查看Java VisualVM中程序的内存消耗时,它向我显示了大约500-1000 MB的已用堆。
但是,Mac上的活动监视器向我显示已使用20 GB的RAM。这种巨大差异的可能原因是什么?
答案 0 :(得分:1)
堆大小仅由普通Java对象使用。
如果您使用的是LWJQL之类的本机库,则可以分配更多的本机内存。
当您不再需要这些本机数据对象时,通常需要通过在该对象上调用方法来显式释放它。