如果都是java开发的应该不会有out of memory问题。

解决方案 »

  1.   

    这个可以做到,但是需要付出运行时的性能为代价
    我得思路是使用AspectJ,在执行相关的构造函数之前,截获控制流,得到当前的可用内存量,在执行完构造函数之后,再截获控制流,比较可用内存的差值,如果小于低限,那么释放这个对象,
      

  2.   

    我的意思是,既然JProbe、Optimized等能做到监控内存中各个对象的数量和占用的内存大小,自己的程序应该也能做到,就是不知道怎么实现。
      

  3.   

    to lapwing2002:如何获取当前内存量?Java如何释放对象?
      

  4.   

    真有够无聊,正确性是建立在条件信任的基础之上的。如果不信任别人的类库,就不要使用它。如果发现MLK,确认排除自己的问题,就向类库开发者提交BUG REPORT,或者换别的类库,监控这些有什么意义?浪费精力在无用功上面。
      

  5.   

    Runtime.getRuntime().totalMemory()
      

  6.   

    “,在运行期间监控这些别人开发的类所创建的对象、所使用的内存,这样就算出问题,也不会影响其他的人的东西。”
    ??
    强烈赞同 xiaohaiz(城里的老土,两眼依然通红!) (