StackOverFlowError的原因在于:无限调用递归函数,函数是以栈帧的形式存在于虚拟机栈内存中,一直创建栈帧导致栈溢出
OutOfMemoryError:
java堆由于存储对象实例,只要不断的创建对象,并且保证GC ROOTS 到对象之间有可达的路径来避免垃圾回收机制来清除这些对象,那么在对象数量达到最大堆的容量限制后就会产生内存溢出异常。所以一直new String() 并不会造成堆内存溢出
StackOverFlowError的原因在于:无限调用递归函数,函数是以栈帧的形式存在于虚拟机栈内存中,一直创建栈帧导致栈溢出
OutOfMemoryError:
java堆由于存储对象实例,只要不断的创建对象,并且保证GC ROOTS 到对象之间有可达的路径来避免垃圾回收机制来清除这些对象,那么在对象数量达到最大堆的容量限制后就会产生内存溢出异常。所以一直new String() 并不会造成堆内存溢出