System.out.println();

wzbwambition
05-04-15 4 749

System.out.println();把异常打到控制台会影响tomcat性能么?跟记到文件里相比,那种方式更消耗资源呢?

weistars
2005-04-16 23:45

打到控制台是非常影响性能的(当然作为一个人调试,感觉不到).
而到到文件里会好很多.

至于为什么,你可以源代码.

public void write(String str, int off, int len) throws IOException {
synchronized (lock) {
char cbuf[];
<> if (len <= writeBufferSize) {
...

这就是达到控制台上的.java对他做了同步,而对于写入到文件里,就没有这方面的性能问题..

可以看IBM论坛上的, <菜鸟的几个特征>里面第一条就是 System.out.print() 满天飞

banq
2005-04-17 20:41

使用log4j 运行时可以关闭输出,无论输出到哪里,输出都是耗费性能的最大杀手

supertrouper
2005-04-18 01:31

用Log4j代替System.out

wzbwambition
2005-04-19 09:51

即使打到文件,也需要同步啊,不可能2个线程同时往一个日志文件里打东西,对吧?