「java查询数据内存超」java查询大数据内存溢出
本篇文章给大家谈谈java查询数据内存超,以及java查询大数据内存溢出对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java内存溢出怎么解决?
- 2、如果控制查询数据量大时,导致的Java内存溢出
- 3、JAVA查询数据库出现内存溢出
- 4、java分页查数据防止内存溢出问题
- 5、JAVA 循环查询数据库,总提示内存溢出,不知道怎么办?请高手帮忙
java内存溢出怎么解决?
第一对所有的代码包括页面中的java代码都进行一遍彻底的回顾检查,
1.对那些静态(static)的对象要特别留神,特别是类型为Map,List,Set的,静态的变量会一直驻存在内存中,生命周期比较长,不会被垃圾器回收。
2.对于代码,要审查是否生成了大量的冗余的对象,还有一些逻辑业务处理的类,
算法是否过于复杂,调整算法,对于代码认真审查,再仔细重构一遍代码,能提高代码质量,提高程序运行稳定性。
3.Java中的内存溢出大都是因为栈中的变量太多了。其实内存有的是。建议不用的尽量设成null以便回收,多用局部变量,少用成员变量。
1),变量所包含的对象体积较大,占用内存较多。
2),变量所包含的对象生命周期较长。
3),变量所包含的对象数据稳定。
4),该类的对象实例有对该变量所包含的对象的共享需求。
4.在我的程序中对静态变量的优化后,使程序占用内存量至少提升了5k-10k。所以也不容忽视。
第二还有就是String类相关的东西:
1.字符串累加的时候一定要用StringBuffer的append方法,不要使用+操作符连接两个字符串。差别很大。而且在循环或某些重复执行的动作中不要去创建String对象,因为String对象是要用StringBuffer对象来处理的,一个String对象应该是产生了 3个对象(大概是这样:))。
2.字符串length()方法来取得字符串长度的时候不要把length放到循环中,可以在循环外面对其取值。(包括vector的size方法)。特别是循环次数多的时候,尽量把length放到循环外面。
int size = xmlVector.size();
for (int i = 2; i size; i++) {
。。。
}
3 写代码的时候处理内存溢出
try{
//do sth
....
}catch (outofmemoryerror e){//可以用一个共通函数来执行.
system.out.print (“no memory! ”);
system.gc();
//do sth again
....
} 4.对于频繁申请内存和释放内存的操作,还是自己控制一下比较好,但是System.gc()的方法不一定适用,最好使用finallize强制执行或者写自己的finallize方法。 Java 中并不保证每次调用该方法就一定能够启动垃圾收集,它只不过会向JVM发出这样一个申请,到底是否真正执行垃圾收集,一切都是个未知数。
如果控制查询数据量大时,导致的Java内存溢出
oracle的rownum用起来还真不太方便,我给你提供个思路试试,
首先在查询的时候按照某个唯一字段升序排序,一般来说应该是按主键排序。
并且在where里加一个条件就是对主键进行比较,
每次查询一定数量的记录,然后记录下该次查询时最大的主键ID是多少,记为MAXID,然后执行插入到B中的操作
下一次查询时在where里加入主键IDMAXID,查出来之后将MAXID设置为此次查询的最大主键ID。在插入B,
如此循环应该就可以实现了。
JAVA查询数据库出现内存溢出
读取的时候内存不足了,你可以增大myeclipse的内存,在myeclise.ini里面,调大各个属性,然后你读取的时候存对象里后,通过byte字节来操作,用缓冲流,写入到磁盘中。
java分页查数据防止内存溢出问题
首先你要明白内存溢出的含义,内存溢出简单的来说就是内存不够了。
打个比方:内存就像一个大水缸,数据库就是水库。从数据库中查询数据就像从水库中抽水到大水缸。如果一次性抽取太多的水(超过大水缸的容量),大水缸肯定放不下(溢出了)。分页查询就好比一点一点的抽水到大水缸。jvm有垃圾回收机制,每次抽到水缸中的水可能用完后就被销毁了,水缸中的水不会一直增长下去。如果水缸中的水一直增长,就叫内存泄露。
你上面的代码不完全,不知道是否会内存溢出。如果每次循环在getComments方法中把查询的结果都放到一个List中,就可能会溢出。当然这个和数据库中的数据量和jvm的内存配置大小有关系。
JAVA 循环查询数据库,总提示内存溢出,不知道怎么办?请高手帮忙
如果你的数据量非常大,肯定会内存溢出
你不停的Element dom是把xml加载到内存中的,数据量一多内存就不够了,性能低下
建议你分页查询
然后通过Xstream等xml框架去生成xml
java查询数据内存超的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java查询大数据内存溢出、java查询数据内存超的信息别忘了在本站进行查找喔。
发布于:2022-12-28,除非注明,否则均为
原创文章,转载请注明出处。