当前位置: 代码迷 >> J2EE >> 请问两个基础的 Java 有关问题
  详细解决方案

请问两个基础的 Java 有关问题

热度:256   发布时间:2016-04-17 23:48:31.0
请教两个基础的 Java 问题
一、这两种方式有什么区别?
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,
   什么时候回收一切都是垃圾收集器的工作,我们无法手动操作。