为什么不宜频繁使用System.out.println()进行调试?
- 内容介绍
- 文章标签
- 相关推荐
本文共计918个文字,预计阅读时间需要4分钟。
关于项目中不使用System.out.println的原因,尽管网上有大量资料,但内容并不准确或不够详细。今天,小星将深入剖析其背后的原因以及可能对项目造成的影响。
关于项目中为什么不要使用System.out.println()的解释,网上有很多资料却并不准确或者详细,今天小星就其原因以及可能对项目造成的影响做深入剖析。关于项目中为什么不要使用System.out.println()的解释,网上有很多资料却并不准确或者详细,今天小星就其原因以及可能对项目造成的影响做深入剖析。
本篇文章氛围三个 要点,源码解析、影响分析、代码演示。
原文出处:www.cofestar.com/blog/system-out-println.html
一、源码解析
打开println的源码,看到println方法体中有synchronized,也就是有锁的控制,换而言之就会出现阻塞的可能,后面我们会认为制造阻塞来演示。
如下图:
打开out源码,发现out用final static来修饰,也就是静态变量,可以认为在单机jvm中该变量全局唯一,如下图:
二、影响分析
通过以上两个图,我们可以想到有这么一种场景,在System.out.println()运行过程中,或因系统原因或者其它原因,导致在执行println的时候,发生了阻塞,那么因此带来的后果是,所有使用System.out.println()的地方,都会处于block状态,甚至引发系统宕机等。
本文共计918个文字,预计阅读时间需要4分钟。
关于项目中不使用System.out.println的原因,尽管网上有大量资料,但内容并不准确或不够详细。今天,小星将深入剖析其背后的原因以及可能对项目造成的影响。
关于项目中为什么不要使用System.out.println()的解释,网上有很多资料却并不准确或者详细,今天小星就其原因以及可能对项目造成的影响做深入剖析。关于项目中为什么不要使用System.out.println()的解释,网上有很多资料却并不准确或者详细,今天小星就其原因以及可能对项目造成的影响做深入剖析。
本篇文章氛围三个 要点,源码解析、影响分析、代码演示。
原文出处:www.cofestar.com/blog/system-out-println.html
一、源码解析
打开println的源码,看到println方法体中有synchronized,也就是有锁的控制,换而言之就会出现阻塞的可能,后面我们会认为制造阻塞来演示。
如下图:
打开out源码,发现out用final static来修饰,也就是静态变量,可以认为在单机jvm中该变量全局唯一,如下图:
二、影响分析
通过以上两个图,我们可以想到有这么一种场景,在System.out.println()运行过程中,或因系统原因或者其它原因,导致在执行println的时候,发生了阻塞,那么因此带来的后果是,所有使用System.out.println()的地方,都会处于block状态,甚至引发系统宕机等。

