1:堆的存在
1:堆主要用来实现对象实例的创建。java堆可以处于物理上不连续的内存空间中,只要逻辑上面是连续的即可。
2:方法区
1:主要存储已被虚拟机加载的类信息,常量,静态变量,即时编译后的代码等数据。
2:运行时常量池属于方法区(hotspot 虚拟机中的永久代)的一部分
3:常用垃圾收集器:
1:parallel scavenge 收集器,主要适用于后台运算而不是需要太多交互的任务。目的就是达到一个可控制的吞吐量。吞吐量=运行用户代码时间/(运行代码时间+ 垃圾收集时间)
可以设置: 最大垃圾收集停顿时间参数-XX:MaxGcPauseMillis,以及直接设置吞吐量大小。-XX:GCTimeRatio(相当于吞吐量的倒数)
2:cms收集器是一种以获取最短回收停顿时间为目标的收集器。