3种写法对性能有多大影响

10-03-05 liujian1979
如果对于GenericUnregMenuDAO类事例化的问题,请高手指点,分别放在以下代码不同3个位置,请问,哪个位置声明比较合适?

package com.chinarainbow.otas.kernal.queue.OTAHandlers;

public class GetPushMsgHandler implements Runnable {

private static GetPushMsgHandler GetPushMsgHandlerProcess = null;

//第一个位置

private GenericUnregMenuDAO gum = new GenericUnregMenuDAO();

public static GetPushMsgHandler getInstance() {

while (true) {

if (GetPushMsgHandlerProcess != null) {

return GetPushMsgHandlerProcess;

} else {

try {

Thread.sleep(100);

GetPushMsgHandlerProcess = new GetPushMsgHandler();

} catch (InterruptedException e) {

}

}// end if

}

}

public void dataProc() {

//第二个位置

GenericUnregMenuDAO gum = new GenericUnregMenuDAO();

while(true){

//第三个位置

GenericUnregMenuDAO gum = new GenericUnregMenuDAO();

}

}

public void run() {

while (true) {

try {

dataProc();

} catch (Exception ex) {

}

try {

Thread.sleep(100);

} catch (InterruptedException e) {

}

}

}

}

[该贴被admin于2010-03-05 10:58修改过]

[该贴被admin于2010-04-29 09:50修改过]

icyiwh
2010-03-05 11:16
你这个DAO是个无状态的,没必要在使用的时候多次创建,耗时耗内存. 可以作为一个单例来处理, 即第一种方式, 可以在使用的时候初始化

猜你喜欢