【发布时间】:2018-01-05 02:55:56
【问题描述】:
我目前正在开发一个使用 Struts 和 Hibernate 构建的项目。
项目中所有的DAO类都有如下代码
内部构造函数:
hibernateSession = HibernateUtil.currentSession();
tx=hibernateSession.beginTransaction();
在所有方法的 finally 子句中:
HibernateUtil.closeSession();
这实际上意味着,在我的业务代码中,每次我想访问数据库中的数据时,我都必须初始化引用变量或创建一个匿名对象,即
如果我必须访问method1 和method2 的class A:
A a= new A();
a.method1(); // access method 1
a = new A();
a.method2(); //access method 2
I now mostly use anonymous objects to get this done ie
new A().method1(); //access method 1
new A().method2(); //access method 2
现在我的问题是:
匿名对象在使用后是否会被垃圾回收?在我的项目中,由于对 DAO 类中方法的每次访问都是通过匿名对象进行的,它会对内存占用产生不利影响吗?如果是的话,还有其他方法吗?
我这样做是正确的还是有更好的方法?
这是使用 Hibernate 实现的最佳/正确方法吗?
我对@987654327@ 的“匿名对象”一词的用法正确吗?在 Google 中搜索时,我注意到许多 cmets 说这在 Java 中不称为匿名对象,但也看到一些文章将其解释为匿名对象。
【问题讨论】:
标签: java hibernate anonymous-class