日期:2014-05-18  浏览次数:20744 次

采用Hibernate作数据层.程序运行一段时间报内存不够..关呼下岗问题..一定来帮助啊..
基本描述如下:
我采用的JSP+servlet+hibernate3
jsp:数据显示
servlet:调用DAO中的方法.返回数据给JSP

以下为hibernate.cfg.xml


<?xml   version= '1.0 '   encoding= 'UTF-8 '?>
<!DOCTYPE   hibernate-configuration   PUBLIC
                    "-//Hibernate/Hibernate   Configuration   DTD   3.0//EN "
                    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd ">

<!--   Generated   by   MyEclipse   Hibernate   Tools.                                       -->
<hibernate-configuration>

<session-factory>
<property   name= "connection.username "> test </property>
<property   name= "connection.url ">
jdbc:oracle:thin:@//192.169.1.134:1521/radian.com
</property>
<property   name= "dialect ">
org.hibernate.dialect.Oracle9Dialect
</property>
<property   name= "myeclipse.connection.profile ">
OracleMsgThin
</property>
<property   name= "connection.password "> test </property>
<property   name= "connection.driver_class ">
oracle.jdbc.driver.OracleDriver
</property>

<property   name= "show_sql "> true </property>
<mapping
resource= "com/radiantek/zhoulian/bean/areamsg/Areamsg.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/hlrmsg/Hlrmsg.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/Isdnmsg/Isdnmsg.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/imsimsg/Imsimsg.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/Bordermsg/Bordermsc.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/Mscmsg/Mscmsg.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/blackuser/Blackuser.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/dateinfo/Defaultdate.hbm.xml "   />
<mapping
resource= "com/radiantek/zhoulian/bean/info/Default.hbm.xml "   />
</session-factory>

</hibernate-configuration>

------解决方案--------------------
问题分析:
   由于TOMCAT内存溢出而引发的问题,主要原因是JVM的虚拟内存默认为128M,当超过这个值时就把先前占用的内存释放,
而导致好象TCP/IP丢包的假象,出现HTTP500的错误。解决方法主要是加大TOMCAT可利用内存,并在程序当中加大内存使用。
解决方法:
方法:加大TOMCAT可利用内存:
  在TOMCAT的目录下,也就是在TOMCAT41/bin/catalina.bat文件最前面加入
  set JAVA_OPTS=-Xms800m -Xmx800m
  表现效果是当你启动TOMCAT时,系统内存会增加近800M使用
操作方法:
  1)、先关掉WINDOWS服务当中的TOMCAT4服务。
  2)、再找到TOMCAT/BIN目录下startup.bat,双击打开它,你会发现现WINDOWS内存占用会增加近800M。
  3)、执行程序,因为是TOMCAT重新编译程序,所以第一次会比较慢。

从网上找到了,不知道能不能帮上你的忙,不过这不是什么好办法数据量大的话还是不能从根本上解快问题
------解决方案--------------------
可以考虑使用lazy属性
------解决方案--------------------
你这个系统很大很大吗?或者你的服务器很烂很烂吗?如果这两个条件不成立,那么就是你的系统没处理好吧,用过的内存