谈最初的Tomcat内存问题!

来源:互联网 发布:gta5pc优化 编辑:程序博客网 时间:2024/06/07 07:43
这个问题在一个项目中就让我焦头烂额了、


遇到了java heap space


一开始遇到这个问题,百度了很多网上的回答,都说加大内存神马的。我也就这么做了


但是大家都知道这是治标不治本


那时候我也是一拖再拖,让我有点无从下手。


中间我有怀疑过哪里的sessionfactory没有关,亦或者是session没有关,甚至我还把所有的session进行了flush。但是都无济于事。可能有点傻逼,我甚至还怀疑我测试的数据量太大了- - 、


终于一次偶然的机会,看到有同学的项目与数据库链接是通过一个类统一接口链接数据库(这相当于设计模式里面的单例模式)那就是HibernateSessionFactory(这个类可以自动生成的,选中项目右键 Myeclipse->add hibernate...xml已经存在了就选中existing)


这个类里面将与数据库的链接放到一个类变量里面(static)


当你第一次调用这个类的时候,Session session = HibernateSessionFactory.getSession();他会与数据库建立链接,之后的调用都是在已经建立的基础上再调用。而且这样数据的导入也快了很多,整个项目的性能都提升上来了。


此方法生成的session可以不关闭,不关闭就相当于getcurrentsession,关闭了就相当于opensession。原因请仔细看getsession这个方法。


解决了这个问题,感觉是解决了做项目这条路上的一个巨大的绊脚石。我想之后的项目肯定都会用到这个方法。因为一个项目的性能真的很重要。