实战OutOfMemoryError异常( 三 )

直接看代码 , 代码很简单 , 创建一个大小为 Integer.MAX_VALUE 的 int 数组 , 代码看起来没毛病 , 程序运行起来很诧异:
Exception in thread "main" java.lang.OutOfMemoryError: Requested array size exceeds VM limitat ArrayLimitOOM.main(ArrayLimitOOM.java:3)为什么?当你编写的 Java 程序试图要分配大于 Java 虚拟机可以支持的数组时就会报 OOM , Java 对应用程序可以分配的最大数组大小有限制 , 不同平台限制有所不同 。
解决方案:检查代码是否有必要创建这么大号的数组 , 是否可以采用集合、拆分等其它方式处理 。
寄语一个人想步行穿过大陆 , 但道路布满了荆棘 , 这时候他有两种选择:铺一条路 , 征服大自然 , 或者准备一双草鞋 。
实战OutOfMemoryError异常文章插图
【实战OutOfMemoryError异常】好了 , 本次就谈到这里 , 一起聊技术、谈业务、喷架构 , 少走弯路 , 不踩大坑 。 会持续输出原创精彩分享 , 敬请期待!