内存溢出:
除了程序计数器,其他都有可能发生内存溢出
OutOfMemoryError
1.堆内存耗尽-对象越来越多,又一直使用不能被回收
2.方法区内存耗尽-类加载越来越多,很多框架都会在运行期间产生新的类
3.虚拟机栈累计-每个线程会消耗1M内存,线程个数越来越多,长时间不销毁
StackOverflowError
虚拟机栈内部-方法调用次数过多