关于 j2ee 服务端用 System.out.println 是否影响性能的问题

到目前为止从事 java 开发也有一年多的时间了, 在之前的公司, 曾经有一个 5 年 java 开发经验的人指出 在服务端不能用 System.out.println 这样的语句来输出程序相关信息,他说自己以前遇到过因为这句话导致服务器瘫痪的情况,事后我们也遵循了这个规则去进行后续的代码编写,可是现在所在的公司的核心服务端代码中却出现了这句话,我自己也在网上查过这句话对性能的影响,可是获得的资料也不多,希望有经验的人可以举例指点一二。

3个回答

服务端 你的system.out都到一个文件里去了。
对一个文件的读写就会排队写。而且syso在当前线程,必须写完才继续下面的程序。

如果是log工具。你的日志会发散在多个日志文件上。可以控制日志是否输出。
而且log工具只是通知要写日志,而不必等日志写完。

weixin_42510826
*^_^*  这个我知道, 因为现在的项目已经上线 3 年了, 我在工具 jar 的一个类中发现有这样的写法, 所以才会有这样的疑问, 不过我个人也支持将程序信息放在 log 中输出。
接近 6 年之前 回复

但是通常运行都非常快。除非你使用了大量的这个方法。才会导致明显的服务器性能下降。否则可以忽略不计

如无必要尽量不要用控制台输出,用日志工具记录吧,控制台输出太乱而且没有优先级。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐