java-CPU资源和时钟周期:System.out.println或递增标志

为了调试我们的Android代码,我们放置了System.out.println(string),它将让我们知道函数被调用了多少次.另一个方法是在每个函数调用之后放置一个标记并继续增加它.然后最后通过System.out.println(…)打印标志的最终值. (实际上在我的应用程序中,该函数将被调用数千次)

我的问题是:就CPU资源和时钟周期而言,哪一个比较轻:增量操作还是System.out.println?

解决方法:

增量将要高效得多-尤其是如果您实际上有任何地方可以增加输出.考虑一下System.out.println与增加变量所需的所有操作.当然,影响是否实际上会是另一回事-并且,如果您的方法已经在做很多工作,那么System.out.println调用实际上可能并没有太大的不同.但是,如果您只是想知道它被调用了多少次,那么保持计数器比总而言之,通过IMO查找日志更有意义.

我建议您使用AtomicLongAtomicInteger,而不是仅使用原始变量,那样您将获得简单的线程安全性.

上一篇:STL——迭代器的概念


下一篇:JavaMelody应用监控使用指南