问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用springdatajqa怎么解决栈内存溢出?

发布网友 发布时间:2022-05-23 16:43

我来回答

1个回答

热心网友 时间:2023-10-29 20:48

1、 内存溢出的原因是什么?
内存溢出是由于没被引用的对象(垃圾)过多造成JVM没有及时回收,造成的内存溢出。如果出现这种现象可行代码排查:
一)是否App中的类中和引用变量过多使用了Static修饰 如public staitc Student s;在类中的属性中使用 static修饰的最好只用基本类型或字符串。如public static int i = 0; //public static String str;
二)是否App中使用了大量的递归或无限递归(递归中用到了大量的建新的对象)
三)是否App中使用了大量循环或死循环(循环中用到了大量的新建的对象)
四)检查App中是否使用了向数据库查询所有记录的方法。即一次性全部查询的方法,如果数据量超过10万多条了,就可能会造成内存溢出。所以在查询时应采用“分页查询”。
五)检查是否有数组,List,Map中存放的是对象的引用而不是对象,因为这些引用会让对应的对象不能被释放。会大量存储在内存中。
六)检查是否使用了“非字面量字符串进行+”的操作。因为String类的内容是不可变的,每次运行"+"就会产生新的对象,如果过多会造成新String对象过多,从而导致JVM没有及时回收而出现内存溢出。
如String s1 = "My name";
String s2 = "is";
String s3 = "xuwei";
String str = s1 + s2 + s3 +.........;这是会容易造成内存溢出的
但是String str = "My name" + " is " + " xuwei" + " nice " + " to " + " meet you"; //但是这种就不会造成内存溢出。因为这是”字面量字符串“,在运行"+"时就会在编译期间运行好。不会按照JVM来执行的。
在使用String,StringBuffer,StringBuilder时,如果是字面量字符串进行"+"时,应选用String性能更好;如果是String类进行"+"时,在不考虑线程安全时,应选用StringBuilder性能更好。
七)使用 DDMS工具进行查找内存溢出的大概位置
2、栈溢出的原因
一)、是否有递归调用
二)、是否有大量循环或死循环
三)、全局变量是否过多
四)、 数组、List、map数据是否过大
五)使用DDMS工具进行查找大概出现栈溢出的位置
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天将雄师观后感600字 为什么喝酒会降血糖 牛栏山 52度浓香型白酒-购买最佳价格 全兴大曲 52度浓香型白酒-购买最佳价格 笔记本电脑怎么接音箱电脑如何连接外置音箱 笔记本电脑有音箱插孔吗笔记本电脑如何连接喇叭 冰箱压缩机过热启动5秒就停了 周长相等的正方形和圆,其面积比是多少 周长相等的正方形和圆面积比是多少 周长相等的正方形与圆形,边长与半径的比是( ),面积之比是( )。 要有... 尼德兰和凉州这两个国家,为啥结局完全相反? 关于成立工作不作为调查领导小组的通知 落实八项规定 机关活动如何开展的最新相关信息 世界上第一个资产阶级共和国是哪一个 尼德兰联省共和国的经济 尼德兰王国的前世今生是怎样的?很厉害吗? 尼德兰联省共和国成立于下面哪一年 尼德兰联省共和国的历史 尼德兰联省共和国的地理 老公有精神病,十年没性生活.这样可以离婚吗 十年无性婚姻有必要维持吗明白三个道理 结婚十年了几乎没有性生活,常分居,冷战,从不主动和好我该怎么办? 我和老公十年没有性生活了,可以申请离婚吗?该如何申请 分居已经10年无性生活10年,今年61岁离婚有什么后果? 老婆与我十年不同房了,相互冷淡? 一对夫妻结婚十年丈夫一次也没有和妻子性生活现在女方想离婚可以去*起诉吗? 我老婆29岁和我结婚的有快有十年了不和我过性生活正常吗? 六十岁的年龄已经十年没有夫妻性生活了,是离婚还是不离婚,该怎么办? 使用应用微信分身注册一个没有绑定视频号发不了作品? 十年没和女人发生关系了会对身体造成什么伤害 C/C++函数调用,栈溢出,该怎么解决 c++栈溢出怎么解决? 如何解决C,C++中stack overflow问题 关于stack overflow at line:0的问题 如何解决VS代码调试时出现 Stack overflow 栈溢出怎么解决int a[512][512] 国庆节高速免费具体时间段是什么时间 2017年中秋节放假安排高速免费吗 腾讯手机管家下载的东西在哪里? 腾讯手机管家的大。大文件怎么下载 tcl电视点击了恢复出厂设置以后界面一直是雪花点点是什么情况 在应急车道行驶怎么处罚 应急车道处罚 在应急车道行驶怎么受到怎样的处罚 分期平台说可以分期套现,不需要还钱。套现后工作人员收取25%的手续费后说不用还钱,现在分期平台让 学校入的意外险在学校外的意外管吗 在校学生的意外险,如果发生在别的地方,能报吗? 摩尔城真快活电玩城怎么样 王家湾什么地方有电玩城? 街道口创意城有哪些好玩的地方?