Java程序占用内存太高了怎么处理?

已举报 回答
Java程序占用内存太高了怎么处理?
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    1,575

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
先看下是否有内存泄露,简单的方法就是隔一段时间检查下内存,看看是否是持续上升。
然后看下资源是否可以优化,比如你加载的图片有没有resize过,尽可能减少资源的内存消耗。
游戏卡顿最主要的是FPS帧率太低,把帧率统计输出来看下。检查下UI线程里或者OpenGL线程里是否做了I/O操作,这个是造成卡顿的主要原因。把I/O操作全部放入工作线程中,UI线程只做数据读取和渲染。这样帧率就可以提高了
取消 评论
这是你写的有问题,一些对象用过之后没有释放,最后导致越来越卡
取消 评论
要么java程序线程没有处理好,要么机器中毒哈哈
取消 评论
这个具体要看代码. java 本身不会占用太多
取消 评论
从代码的角度,软件开发人员主要关注java.lang.OutOfMemoryError: Java heap space异常,减少不必要的对象创建,同时避免内存泄漏。
现在以一个实际的例子分析内存占用的故障排查。

通过top命令,发现PID为9004的Java进程一直占用比较高的内存不释放(24.7%),出现高内存占用的故障。

ps -mp 9004 -o THREAD,tid,time,rss,size,%mem
发现PS命令可以查到具体进程的CPU占用情况,但是不能查到一个进程下具体线程的内存占用情况。
取消 评论
是不是程序问题?我开Eclipse 开MYeclipse 开oracle 都可以 同时运行多个 也没事啊 很奇怪 要么机器充装啊
取消 评论
你无写释放系统资源代码吗
取消 评论
程序需要优化,内存的垃圾太多了
去百度一下《JAVA内存溢出》
还有利用连接池
缓存等优化
使用SPRING管理对象
取消 评论
ZOL问答 > 内存 > 其他分类 > Java程序占用内存太高了怎么处理?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?