一、这两种方式有什么区别?
1、 UnitDao dao= new UnitDao()
String strUnitname=dao.getunitname();
2、 String strUnitname= new UnitDao().getunitname();
二、在 servlet 中
通过 UnitDao dao= new UnitDao() 实例化得到 dao ,使用完毕后是否要手动释放,如果需要释放,怎样释放? 这样做对不对?
UnitDao dao= new UnitDao()
String strUnitname=dao.getunitname();
dao=null
------解决方案--------------------
1> 在栈里多创建了个变量
2>对
------解决方案--------------------
1、UnitDao dao= new UnitDao() 在栈空间创建了一个dao的变量 指向 new UnitDao()。然后又创建了一个strUnitname变量指向dao.getunitname()
而下面的,则是直接创建一个 strUnitname变量指向new UnitDao().getunitname()
2、对头!
------解决方案--------------------
1.没什么区别,第1种方式多创建了对象的引用变量;
2.没必要,所有的对象都是通过垃圾收集器来回收的,dao只要离开了作用域,就会自动为null,
什么时候回收一切都是垃圾收集器的工作,我们无法手动操作。