实战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异常】好了 , 本次就谈到这里 , 一起聊技术、谈业务、喷架构 , 少走弯路 , 不踩大坑 。 会持续输出原创精彩分享 , 敬请期待!
- Wireshark数据包分析实战:TCP报文段重组
- Python爬虫采集网易云音乐热评实战
- Django实战016:django中使用redis详解
- HTTP实战之Wireshark抓包分析
- Wireshark数据包分析实战:网卡卸载
- 「8」进大厂必须掌握的面试题-Java面试-异常和线程
- Python数据分析:数据可视化实战教程
- 实战经验:电商平台遭遇CC攻击,我们是如何应对的?
- Tencent IN对话 | 八位互联网实战家,实战智慧营销商学院
- HLS实战之Wireshark抓包分析