【发布时间】:2015-11-18 11:41:17
【问题描述】:
我正在努力提高我在 Java 中的优化技能。为了实现这一点,我制作了一个旧程序,我正在尽我所能让它变得更好。在这个程序中,我使用 SL4J 进行日志记录。为了得到我所做的记录器:
private static final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
在我编写代码时,我认为这是最好的选择,因为我删除了对类名的引用(可能会被重构)。但现在我不再那么确定了......
private static final Logger logger = LoggerFactory.getLogger(ClassName.class);
另一方面,保留对类名的引用,但它删除了一个方法调用。对于一个班级来说,这可能不会带来很大的性能提升,但是当你有很多班级时,这可能会有所作为。
所以我的问题是:
哪种方法更好?使用类名还是通过反射获得它?
请用利弊激发你的回答。谢谢。
【问题讨论】:
标签: java logging optimization reflection slf4j