java吧 关注:1,240,037贴子:12,714,170
  • 10回复贴,共1

[求助]关于java垃圾回收机制

只看楼主收藏回复

假设有一个程序new了很多对象,而且用户重复的运行这个程序,那么虚拟机是不是会一直的向堆里存放这些对象,这样重复了很多次以后,会有什么后果?那么问题来了,程序员能不能通过代码做到用户每重复运行一次程序虚拟机就清理一次内存?小弟拜谢


来自Android客户端1楼2017-01-10 00:08回复
    程序运行完,虚拟机关闭,还有内存占用?


    IP属地:广东来自手机贴吧2楼2017-01-10 00:12
    收起回复
      本人的理解,虚拟机供给程序的可用内存越低,程序持续分配内存,效能明显下降。


      来自Android客户端4楼2017-01-10 00:54
      回复
        new对象长时间不实用虚拟机会自动释放


        IP属地:泰国来自Android客户端5楼2017-01-10 01:07
        回复
          垃圾会回收不代表马上回收,等内存占用到一定程度才会执行fullgc,平时还有分代gc,fullgc执行时间越长越久,性能就越差,所以一般不配置太高的jvm内存,最好解决方式是分布式


          IP属地:广西来自Android客户端6楼2017-01-10 06:58
          回复
            1:一直new,会堆溢出。
            2:new完之后,引用置空


            IP属地:新疆来自Android客户端7楼2017-01-10 07:58
            回复
              java是自动回收机制,你想问什么?


              IP属地:四川来自Android客户端8楼2017-01-10 08:01
              回复
                只要不使用这个对象,虚拟机就会删除其内存


                IP属地:海南来自手机贴吧9楼2017-01-10 08:21
                回复