关于[private static final logger logger]

mouer 2010-01-29 03:34:10
大家一般写日志的时候是否是:
private static final Logger logger = XXXXXXXX;
为什么要是static
为什么要是final
为什么为什么?

...全文
891 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mouer 2010-01-29
  • 打赏
  • 举报
回复
恩..应该是这样了..
挺简单的问题,想歪了,真2,谢谢各位

老外的BLOG上有篇文章写的不错,关于这个的
http://www.nofluffjuststuff.com/blog/scott_leberknight/2007/03/loggerisnotstaticfinal.html
wenjjing2lianee 2010-01-29
  • 打赏
  • 举报
回复
将域定义为static,每个类中只有一个这样的域.而每一个对象对于所有的实例域却都有自己的一份拷贝.

用static修饰既节约空间,效率也好.

final 是本 logger 不能再指向其他 Logger 对象
wzju64676266 2010-01-29
  • 打赏
  • 举报
回复
static 修饰的变量是不管创建了new了多少个实例,也只创建一次,节省空间,如果每次都创建Logger的话比较浪费内存;final修饰表示不可更改,常量
Defonds 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 mouer 的回复:]
大家一般写日志的时候是否是:
privatestatic final Logger logger = XXXXXXXX;
为什么要是static
为什么要是final
为什么为什么?


[/Quote]
看情况了。static 是加载即创建实例。使用的时候可以直接拿来;final 是本 logger 不能再指向其他 Logger 对象。
Bird_fro 2010-01-29
  • 打赏
  • 举报
回复
定义成static final,logger变量不可变,读取速度快
SuperBoo 2010-01-29
  • 打赏
  • 举报
回复
得色
SuperBoo 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用37楼 ediy的回复:]
这到底是为什么------------------

[/Quote]

62,614

社区成员

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

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