代码之家  ›  专栏  ›  技术社区  ›  willcodejavaforfood

JPA/HSQLDB仍然占用了我所有的内存

  •  3
  • willcodejavaforfood  · 技术社区  · 14 年前

    我正在开发一个程序,可以解析文件中的数据并将其存储到HSQLDB数据库中。当解析器遇到数据时,它会创建使用JPA/Hibernate映射到数据库的实体。

    flush clear

    请告诉我下一步该怎么做。

    3 回复  |  直到 13 年前
        1
  •  2
  •   leonm    14 年前

    Eclipse MAT 分析内存的使用位置。使用JPA,结果常常令人惊讶,而且如果不考虑实际的内存使用情况,你常常会陷入黑暗。

        2
  •  2
  •   willcodejavaforfood    14 年前

    在和HSQLDB鬼混了两天之后,我听从了两个朋友的建议,把数据库改成了H2。事务处理期间的内存占用现在大约是三分之一,而且速度也快了20%。

        3
  •  0
  •   Vladimir.Shramov    11 年前

    可能是不同的原因。我想描述一下用于内存泄漏分析的工具:

    2) 然后进行堆转储:

    jmap -dump:live,format=b,file=<filename> <process_id>
    

    3) 然后分析它: a) JHAT实用程序:

    jhat <file>
    

    http://download.eclipse.org/mat/1.3/update-site/
    

    (Eclipse:help->安装新软件->添加存储库)

    打开并选择选项以查找内存泄漏。

    对于HSQLDB: 通常MemoryAnalizer显示

    CompiledStatementManager.csidmap
    

    -那你一定要经常打电话

    statement.close()