谁能给我解释下JVM的新生代、年轻代、老年代是怎么一回事?有资料发连接也可以,谢谢!!
最好有详细介绍多谢各位了!

解决方案 »

  1.   

    CSDN果然是没人啊,比起javaeye(现在是iteye)差远了。哎
      

  2.   

    这种查下文档就知道的问题为什么不google下?
    或者直接找一下  “java memory management whitepaper”
      

  3.   

    呵呵 英文水平不行,所以才提问。关键是google,关键字是什么?
      

  4.   

    所谓的新生代和老年代是针对于分代收集算法来定义的,新生代又分为Eden和Survivor两个区。加上老年代就这三个区。数据会首先分配到Eden区当中(当然也有特殊情况,如果是大对象那么会直接放入到老年代(大对象是指需要大量连续内存空间的java对象)。),当Eden没有足够空间的时候就会触发jvm发起一次Minor GC。如果对象经过一次Minor GC还存活,并且又能被Survivor空间接受,那么将被移动到Survivor空间当中。并将其年龄设为1,对象在Survivor每熬过一次Minor GC,年龄就加1,当年龄达到一定的程度(默认为15)时,就会被晋升到老年代中了,当然晋升老年代的年龄是可以设置的。其实新生代和老年代就是针对于对象做分区存储,更便于回收等等。