1.-Xms256M -Xmx512M 在实际中怎么用
以eclipse为例,选中项目右键Run as->Run configurations->Arguments->VM arguments添加-Xms256M -Xmx512M
参考下图
2.内存模型
可分为
一.PC(程序计数器)
二.方法区
三.本地方法栈
四.虚拟机栈
五.元空间
六.堆
3.堆:分为新生代老年代
新生代:新创建对象或者对象没有达到年龄阈值的会存放在这里
老年代:新创建对象如果太大就会存放到这里,此外新生代对象年龄达到年龄阈值也会存放到这里
4.新生代:可分为Eden区,suivivor from区和suivivor to区
对象第一次创建:对象存在Eden区
新生代垃圾回收后对象会从Eden区转到suivivor from区或者suivivor to区,之后操作:
假设对象AA存到suivivor from区,则第二次新生代垃圾回收后,会将AA对象等还有用的对象复制到suivivor to区并且年龄+1,此时suivivor from区则可以大胆清理了,毕竟有用的对象都搬到suivivor to区了