因为虚拟机导致的错误
-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
以上参数:
-Xms20m:表示堆的最小值为20M
-Xmx20m:表示堆的最大值同样设置为20M,
-XX:+HeapDumpOnOutOfMemoryError:表示的意思是可以让虚拟机在出现内存溢出异常时Dump(倾倒,倾卸,垃圾场,倒垃圾)出当前内存堆转储快照以便事后进行分析。
在Debug configuration中配置以上参数,运行一下代码:将出现最下面的异常。
-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
当改变上面的数值的参数后,可以改变运行了的次数。
入以下代码:
package com.it;
import java.util.ArrayList;
import java.util.List;
publicclass HeapOOM {
staticclass OOMObject{
}
publicstaticvoid main(String[] args) {
int i = 0;
List<OOMObject> list = new ArrayList<OOMObject>();
while(++i<1005310){
list.add(new OOMObject());
System.out.println(i);
}
}
}
出现的异常如下:
1005306
1005307
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid4568.hprof ...
Heap dump file created [22044099 bytes in 0.464 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.ensureCapacity(Unknown Source)
at java.util.ArrayList.add(Unknown Source)
at com.it.HeapOOM.main(HeapOOM.java:14)
说明:(22044099/1024)/1024 = 21M,比配置过的参数多1M(一般比配置的数值大).此程序片段运行了1005308次,运行时间是0.464秒。出现的异常是堆内存溢出异常。
在运行以上程序片段期间,CPU使用率也将上升,几度为100%。运行之前的截图如下:
因为虚拟机导致的错误相关推荐
- 【No.5 类型转换导致的错误】
==[注意]== 程序语言只是我们与计算机交流并让计算机实现我们创造性思想的工具,可以并鼓励深入掌握一门语言,但千万别沉迷于钻某种语言的牛角尖,一定要把握好二者间的度 本帖属不定时连载贴,以试卷的形式 ...
- 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。...
调试ASP.NET程序时发生错误:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程 ...
- 为什么链接库的顺序有时会导致GCC错误?
为什么链接库的顺序有时会导致GCC错误? #1楼 一个让我震惊的提示:如果您以" gcc"或" g ++"的形式调用链接器,则使用" --start- ...
- java 502错误,Spring Boot连接超时导致502错误的实战案例
1.问题描述 内部系统之间通过Nginx来实现路由转发. 但最近发现有一个系统,经常报502错误,每天达到上百次,完全无法忍受. 2. 原因排查 于是进行排查, 发现配置人员把连接超时时间(serve ...
- python变量初始化的位置不当、程序结果可能会出现问题_解决tensorflow由于未初始化变量而导致的错误问题...
我写的这个程序 import tensorflow as tf sess=tf.InteractiveSession() x=tf.Variable([1.0,2.0]) a=tf.constant( ...
- 未分配内存的指针导致段错误
一个最简单的队列初始化操作案例: 编译可以通过:但是运行程序时,会出现段错误:Segmentation fault 分析:主函数中声明了队列的一个指针(只是声明,并未实际分配地址空间),调用初始化函数 ...
- 微博 php7,新浪微博PHP版SDK的导致20007错误
本文章来转一篇关于新浪微博PHP版SDK的导致20007错误的解决方法,碰到此类问题的朋友可参考. 新浪微博有个高级接口'statuses/upload_url_text'(需要在open.weibo ...
- tensorflow版本问题导致的错误AttributeError: module ‘tensorflow‘ has no attribute ‘***‘
问题解决--AttributeError: module 'tensorflow' has no attribute 'placeholder' - yuanyuanWu11 - 博客园 tensor ...
- boost::timer模块检查在同一程序中使用 Chrono 和 Timer 不会导致链接错误
boost::timer模块检查在同一程序中使用 Chrono 和 Timer 不会导致链接错误 实现功能 C++实现代码 实现功能 boost::timer模块检查在同一程序中使用 Chrono 和 ...
最新文章
- Android 停止调试程序
- 海思3559与全志a83t比较
- iOS获取键盘的高度
- 【干货】JMeter BeanShell 应用
- 树 森林 二叉树 遍历
- 《从零开始学习ASP.NET MVC 1.0》-开天辟地入门篇
- nginx 代理多个服务器——多个server方式
- 弹框插件self(动效兼容到IE9,功能兼容IE6)
- 网络编程 - socket接收大数据
- 学弟拿到了大厂推荐算法岗offer,分享一波他的经验
- 设计数据库 ER 图太麻烦?不妨试试这两款工具,自动生成数据库 ER 图!!!
- Ubuntu 周立功CAN分析仪 USBCAN-II 驱动
- 毕业论文排版素材大学计算机基础,毕业论文排版素材大学计算机基础实验.pdf...
- AGV自导航机器人执行的安全标准
- ACM recsys十年回顾(转载)
- traceback说明
- 高精地图_语义地图_众包地图相关论文笔记
- 手机吃鸡语音服务器异常是怎么回事,《绝地求生》新版本里实用功能介绍 卡语音怎么解决...
- 在 Word 中撰写并发布到博客的帮助
- phpmailer 私密抄送_使用PHPMailer发送邮件实例
热门文章
- JavaScript实现depth First Search深度优先搜索算法(附完整源码)
- wxHtml 示例:帮助浏览器
- wxWidgets:wxTextCompleterSimple类用法
- BOOST_VMD_ASSERT_IS_IDENTIFIER宏相关的测试程序
- boost::sort模块实现在大多数排序的数组示例上展开排序
- boost::random::const_mod相关的测试程序
- boost::python::to_python_converter相关的测试程序
- boost::program_options模块实现处理选项组的测试程序
- boost::mp11::mp_all_of相关用法的测试程序
- boost::graph模块实现Graphviz DOT 语言阅读器