当前位置:首页 > 内存 > 正文

java内存占用高

  • 内存
  • 2024-08-27 05:34:30
  • 9930

一、java跑1000万数据为什么占了十多个g的内存跑是什么意思?
Java的内存回收是自动回收的。如果GC不回收,实例可能已经停止,导致内存永远无法释放。


二、Java程序占用内存太高了怎么办?

首先检查是否存在内存泄漏,简单的方法就是时不时的检查一下内存,看看是否继续增加。

然后检查一下资源是否可以优化,比如你加载的图片是否经过修改,尽可能减少资源的内存消耗。

游戏卡顿的主要原因是FPS帧率太低。看一下帧率统计输出。检查I/O操作是在UI线程还是OpenGL线程中进行。这是造成滞后的主要原因。将所有I/O操作放入工作线程,UI线程只做数据读取和渲染。这样就可以提高帧率


三、Java为什么比Go消耗的内存更多?Java比Go消耗更多内存的原因有很多。原因之一是Java的JIT策略在运行时比Go的AOT策略占用更多的内存。Java还为更动态的抽象函数使用更多的内存。Go没有对象头,没有JIT开销,并且需要的反射信息比Java少得多。GC是轻量级的,没有JVM的GC那么多的功能。