如何解决Java-System.out对性能的影响
它可能会影响您的应用程序性能。大小会因您所运行的硬件类型和主机上的负载而异。
可以将其转化为性能方面的一些要点:
->就像Rocket boy所说的那样,println是同步的,这意味着您将招致对象标头的锁定开销,并且可能会导致线程瓶颈,具体取决于您的设计。
->在控制台上打印需要内核时间,内核时间意味着cpu将不在用户模式下运行,这基本上意味着您的cpu将忙于执行内核代码而不是应用程序代码。
->如果您已经在记录日志,则意味着I / O会花费更多的内核时间,并且如果您的平台不支持异步I / O,则这意味着您的cpu可能会在繁忙的等待时停止。
您实际上可以尝试对此进行基准测试并自己验证。
有很多方法可以避免这种情况,例如拥有非常快速的I / O,可能专用的大型计算机,并且如果您的应用程序设计不会在该控制台打印中使用多线程,则可能会偏向锁定JVM选项。
像所有性能一样,这都取决于您的硬件和优先级。
解决方法
我有这个JavaWeb应用程序,它可以从电子表格上传成千上万的数据,该电子表格是从上到下按行读取的。我System.out.println()
用来在服务器端显示应用程序当前正在读取的行。
-我知道要创建一个日志文件。实际上,我正在创建一个日志文件,同时在服务器提示符下显示日志。
还有其他方法可以在提示上打印当前数据?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。