`
zhaoyinghui5
  • 浏览: 6344 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

ResultSet内存溢出OutOfMemory问题

阅读更多
错误信息如下:

jdbc在操作oracle海量数据的时候用ResultSet获取所有的返回数据出现内存溢出

处理:
出错的原因是ResultSet用的是可滚动结果集,正常情况下ResultSet是指针指向数据库的数据,本身是不存储数据库的数据的,默认情况下就算是提交的sql能查询处上亿条的数据也是不消耗内存的,但是如果用的是可滚动结果集的ResultSet情况就不一样了,ORACLE 是不支持可滚动结果集的,那么我们用JDBC得到一个可滚动的结果集就是由JDBC自己支持的,也就是说结果集是要存放在内存中的,所以在海量数据的情况下也就是要消耗大量内存的,因此造成内存溢出也就是正常的了,所以如果是海量数据的话就不要用可滚动结果集就可以了。
分享到:
评论

相关推荐

    如何避免JDBC引起的内存溢出情况

    然而,在处理大数据集时,如果不注意细节,很容易遇到内存溢出的问题。本文将重点讨论如何在MySQL、SQL Server以及Oracle三种不同的数据库环境下,通过合理配置和优化策略来避免内存溢出。 #### 一、理解内存溢出的...

    jvm内存溢出

    ### JVM内存溢出详解 #### 一、基本概念与理解 **JVM内存溢出**是一种常见的运行时错误,指的是程序在执行过程中因为...通过以上详细的分析和策略,可以有效地预防和解决JVM内存溢出问题,提高程序的稳定性和性能。

    完美解决因数据库一次查询数据量过大导致的内存溢出问题

    综上所述,解决因数据库一次查询数据量过大导致的内存溢出问题需要结合业务场景,综合运用各种技术手段。通过优化查询策略、提升系统配置、改进代码质量等方式,可以有效地缓解甚至消除这类问题。不过要注意,虽然...

    ResultSet

    ResultSet是Java数据库连接(JDBC)中的核心接口,它用于存储和检索数据库查询结果。当你执行SQL查询并从数据库获取数据时,结果会被封装在ResultSet对象中。在本篇文章中,我们将深入探讨ResultSet的主要概念、操作...

    ResultSet 转为listmap

    ResultSet 转为 List ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,...

    java数据库连接ResultSet

    Java 数据库连接 ResultSet Java 数据库连接中的 ResultSet 是一个非常重要的概念,它包含符合 SQL 语句中条件的所有行,并且提供了对这些行中数据的访问。ResultSet 通过一套 get 方法访问当前行中的不同列,例如 ...

    resultset2xml

    一次性将整个ResultSet加载到内存并转换为XML可能会导致内存溢出。因此,我们可能需要使用流式处理或者分批转换,只处理当前需要的部分。 总的来说,"resultset2xml"涉及到数据库操作、Java编程、XML序列化和数据...

    支持ResultSet的JTable

    5. **将ResultSet转换为TableModel**:为了让`JTable`能显示`ResultSet`的数据,我们需要将`ResultSet`的内容转换为`TableModel`。这通常涉及到遍历`ResultSet`,获取列名和值,然后添加到`TableModel`中。 6. **...

    Java ResultSet导出大数据.docx

    在Java开发中,处理大数据时常常面临内存溢出的问题,尤其是在需要将大量数据库数据导出到文件,如Excel或CSV格式时。本文主要探讨如何有效地解决这个问题,特别是针对Java中的ResultSet对象。 首先,对于Excel导出...

    ResultSet对象获取数据的各种方法

    ### ResultSet对象获取数据的各种方法 在Java编程语言中,`ResultSet`对象是处理数据库查询结果的核心组件之一。它充当一个可滚动的、可更新的数据表,用于存储从数据库执行SQL语句后返回的结果集。本文将详细介绍...

    ResultSet转化为json,json转化为List

    在Java编程中,数据处理是核心任务之一,而ResultSet、JSON和List是处理数据时常见的三种数据结构。ResultSet是数据库查询结果的载体,JSON是一种轻量级的数据交换格式,而List是Java集合框架中的动态数组。本文将...

    JAVA 版本ResultSet 转换为JAVABEAN的工具类

    在Java编程中,ResultSet是处理数据库查询结果的主要接口,它由Statement或PreparedStatement对象执行SQL查询后返回。而JavaBean是一种符合特定规范的Java类,通常用于封装数据,便于数据的传输和操作。当我们从...

    ResultSet的属性

    ResultSet是Java数据库连接(JDBC)中的一个重要接口,它用于存储和检索数据库查询结果。当执行SQL查询后,结果会被封装成ResultSet对象,允许我们逐行遍历并访问查询返回的数据。在处理ResultSet时,了解其属性和元...

    poi根据ResultSet到处Excle源码

    标题中的“poi根据ResultSet到处Excle源码”指的是使用Java的Apache POI库将数据库查询结果(ResultSet)转换为Excel文件的过程。Apache POI是一个流行的API,它允许开发者读写Microsoft Office格式的文件,包括...

    如何从 Java 存储过程将 JDBC ResultSet 作为 Ref Cursor 返回.doc

    总结来说,从Java存储过程返回JDBC ResultSet作为REF CURSOR,主要是为了解决Oracle数据库的特性和JDBC的兼容问题。通过Oracle9i引入的特性,开发者可以利用这种方法在PL/SQL和Java之间更灵活地交换数据。然而,这种...

    Java ResultSet导出大数据.pdf

    Java在处理大数据时,面临的主要挑战是如何有效地避免内存溢出。在导出大量数据到文件,如Excel或CSV格式时,需要采取特定策略以优化内存使用。以下是一些关键知识点和最佳实践: 1. **数据库分页**: 对于大规模...

    javaResultSet常用方法.pdf

    Java ResultSet常用方法 Java ResultSet是Java数据库连接(JDBC)中最重要的组件之一,用于存储和处理数据库查询结果。在Java中,ResultSet对象是通过Statement对象的executeQuery()方法或prepareStatement()方法...

    Tomcat的内存释放

    通过上述分析可以看出,Tomcat内存溢出问题的根源通常在于资源管理不当。合理配置Java堆大小、使用连接池技术、避免循环套接层数过多等问题,同时充分利用JConsole等工具进行监控,是有效预防和解决此类问题的关键。...

    ResultSet用法集锦

    在Java编程语言中,`ResultSet`是用于存储和处理数据库查询结果的核心接口。它是由`Statement`或`PreparedStatement`执行SQL查询后返回的结果。本文将深入探讨`ResultSet`的使用方法,结合源码分析和实用工具,以...

    数据库结果集ResultSet判断为空记录数缺少一行和没有记录但永不为空问题

    最近在做毕业设计,需要用到数据库,在用结果集ResultSet判断的时候遇到一个郁闷的事情。 一开始我的想法是这么一个框架: ResultSet rs = dao.executeQuery(sql); if(rs不为空){ while(rs.next()){ … } }else{ … ...

Global site tag (gtag.js) - Google Analytics