这个string 型的字段,赋值过长后报 引发类型为“System.OutOfMemoryException”的异常
大神们内存溢出的原因是什么,没有积分了,以后努力多赚积分,多谢了
内存溢出的意思就是:内存不够了
解决方法就是:加内存.这样就够了.
16G的内存,绝对是够的
@卢格: 够不够你说了不算.程序说了算.
系统告诉你不够.那就是不够!
给你举个例子:你登录博客园的时候.博客园告诉你密码错误.那就是你输入的密码错了!明白吗?就算你觉得你的密码是对的.就算你在怎么肯定你的密码没错.也没有任何意义.
系统说你错.你就是错!系统说你内存不够.你内存就是不够!
循环2百万次,这是科学计算吗?代码好神奇啊...无力吐槽...
这个只是我从程序中分离出来用于测试的,
medalList 并没有报内存溢出,内存溢出的地方在 string test 循环赋值上 ,如果将 string test 更改为 List<string> test 循环赋值不会出错,但如果再将List<string> test 赋值给另一个模型 ,运行一会又会报内存溢出 ,test的赋值并没有无限累加,每次都是重新赋值,那原因究竟出在那了
@卢格: 搞不懂了,你既然听不进别人讲啥,问问题有啥用呢?
不是test 的string过长,是循环次数太多了,list超过内存。
真是无力吐槽了
200万次循环,每次循环使test增加了31个字符。
自己算:如果这个程序能顺利跑完,那么test里得有多少个字符。
每个循环都重新赋值,并不是累加,循环中并没有使用+=
@卢格: list.add(model) 这么大的字你都看不见,也是醉了。
@爱编程的大叔: medalList 并没有报内存溢出,内存溢出的地方在 string test 循环赋值上 ,如果将 string test 更改为 List<string> test 循环赋值不会出错,但如果再将List<string> test 赋值给另一个模型 ,运行一会又会报内存溢出
@爱编程的大叔: medalList 并没有报内存溢出,内存溢出的地方在 string test 循环赋值上 ,如果将 string test 更改为 List<string> test 循环赋值不会出错,但如果再将List<string> test 赋值给另一个模型 ,运行一会又会报内存溢出
OutOfMemory: Java heap space
发生这种问题的原因是突然创建了太多的对象,虚拟机分配的堆内存空间已经用满了