关于log4j在使用时效率问题的讨论

vvpang 2005-10-11 09:15:53
在类中初始化一个Logger类实例,以供使用的时候
可以这样
private static final Logger logger = Logger.getLogger( Test.class ) ;
也可以这样
private final Logger logger = Logger.getLogger( Test.class ) ;

差别就是,一个是静态static的,一个不是静态的。

用哪种初始化的方法比较好呢???
...全文
236 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
treeroot 2005-10-20
  • 打赏
  • 举报
回复
其实没有多大的区别
因为多次调用返回的是同一个对象,也就是说这个对象会一直在
静态的话就是一直引用这个对象,因为本身不创建对象,不会浪费内存
非静态的话是在每个实例中加一个对象的引用而已,本身也不创建对象,但是
每次要调用一下方法而已!
静态稍微好些
ChDw 2005-10-11
  • 打赏
  • 举报
回复
当然是静态的好,这样只在加载这个类的时候才初始化Log4j一次

如果是非静态,每次初始化这个类的实例一次就Log4j就初始化了,如果你的类会new一两万次就白白花了太多无谓的时间了。
itjourney 2005-10-11
  • 打赏
  • 举报
回复
static咯,所有实例使用同样的。
vvpang 2005-10-11
  • 打赏
  • 举报
回复
使用的时候没有区别是指在那一方面没有区别?
sandyen 2005-10-11
  • 打赏
  • 举报
回复
当然是static比较好,log4j支持多线程,所有你使用的时候没有任何区别
vvpang 2005-10-11
  • 打赏
  • 举报
回复
这个,多线程类和单线程类,有区别吗??

EANFS 2005-10-11
  • 打赏
  • 举报
回复
一般是静态的就可以了,
ianok 2005-10-11
  • 打赏
  • 举报
回复
同意靜態

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧