首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

Spring+hibernate+struts 为什么运行一段时间后报"java.lang.OutOfMemoryError: Java he

2014-01-26 
用的是DBCP数据库连接池:bean iddataSource classorg.apache.commons.dbcp.BasicDataSourceproper

用的是DBCP数据库连接池:
 
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName">
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
  </property>
  <property name="url">
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stest</value>
  </property>
  <property name="username">
  <value>sa</value>
  </property>
  <property name="validationQuery">
  <value>SELECT 1</value>
  </property>
  <property name="testOnBorrow">
  <value>true</value>
  </property>
  </bean>   
    抛 java.lang.OutOfMemoryError:Java heap space 异常
  程序中用到的Session都仔细检查过,全部close了.但不知为什么只要程序运行一段时间后就报sessionFaction这个bean找不到了,说是缓存溢出.在网上找了一下,说是Session没关会出现这种情况,但我仔细找了一下用到hibernate中的session的地方,session全部是关了的.不知是否有人遇到过这种情况?

------解决方法--------------------------------------------------------
有些你可以变通一个方式,对于经常访问的大数据javabean,可以使用静态变量来访问,减少重复占用的内存。
  要记住,java只会回收没被引用的对象!

        

热点排行