1.java堆用于存储对象,只要不断的创建对象,并保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数量到达最大堆的容量限制后就会产生内存溢出的现象。
Java是自动管理堆栈内存的,因此程序员会比较被动,无法自行去设置堆栈大小。
堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。
因此可以得知:
GC回收的是堆中的数据。
堆中存放的是创建的new 对象和数组。
1.java堆用于存储对象,只要不断的创建对象,并保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数量到达最大堆的容量限制后就会产生内存溢出的现象。
Java是自动管理堆栈内存的,因此程序员会比较被动,无法自行去设置堆栈大小。
堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。
因此可以得知:
GC回收的是堆中的数据。
堆中存放的是创建的new 对象和数组。