`
elitesunry
  • 浏览: 37676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

提高程序的运行效率-不容小视的println()

 
阅读更多
在我们的项目中,经常会用到log,很不起眼的东西,但他对程序的性能来说影响却是非常巨大,下面简单用控制台输出测试记录日志和不记录日志的性能差异:
		int count = 10000 * 100;
		long startTime = System.currentTimeMillis();
		for (int i = 0; i < count; i++) {
		}
		long elapsedTimeWithOutOutPut = System.currentTimeMillis() - startTime;

		startTime = System.currentTimeMillis();
		for (int i = 0; i < count; i++) {
			System.out.println("Test output!");
		}
		long elapsedTimeWithOutPut = System.currentTimeMillis() - startTime;

		System.out.println("elapsedTimeWithOutOutPut: " + elapsedTimeWithOutOutPut);
		System.out.println("elapsedTimeWithOutPut: " + elapsedTimeWithOutPut);
		System.out.println(elapsedTimeWithOutPut / elapsedTimeWithOutOutPut + " Times");


输出结果:
...
Test output!
Test output!
Test output!
elapsedTimeWithOutOutPut: 3
elapsedTimeWithOutPut: 13518
4506 Times

如果换成真正的文件IO操作记录日志,对性能的影响可想而知,所以,在我们业务处理时,在真正需要记录日志时记录日志;在系统上线运行时,仔细考虑log输出的等级,error,debug,info...
分享到:
评论

相关推荐

    测试程序运行效率

    在IT领域,特别是软件开发与优化过程中,测试程序运行效率是一项至关重要的技能。这不仅关系到软件的性能表现,还直接影响用户体验以及系统的整体资源利用效率。以下是对标题、描述及部分代码内容所涉及的关键知识点...

    Assignment-1-Print-Println

    例如,一个简单的任务可能要求学生编写一个程序,该程序接受用户输入的一组数字,然后使用`print`和`println`来打印这些数字的总和、平均值和最大值。这将需要学生对数据类型的转换、算术运算以及数组操作有深入的...

    1-1-activity-system-out-println-hello-java-KaylaA2003:1-1-activity-system-out-println-hello-java-KaylaA2003由GitHub Classroom创建

    程序设计基础-第一章-初识Java.ppt

    * JRE系统库目录:存放程序运行必须的系统库文件 * src目录:存放包和源文件 公有类 HelloWorld: * public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!!!...

    JAVA程序设计课件-星期判断程序.pptx

    JAVA 程序设计之 switch 语句应用 在 JAVA 程序设计中,switch 语句是一种非常常见的选择语句。与 if 条件语句不同,switch 语句只能针对某个表达式的值做出判断,从而决定执行哪一段代码。在 switch 语句中,使用 ...

    Java编写年历程序代码

    System.out.println("--------------------------欢迎使用万年历程序----------------------"); System.out.print("请输入年份:"); int year=input.nextInt(); System.out.print("\n请输入月份:"); int month=...

    JAVA程序设计课件-用户交互程序设计.pptx

    在JAVA程序设计中,用户交互是程序与使用者之间进行沟通的关键环节。OCJA(Oracle Certified Java Associate)认证正是为了检验开发者对于Java基础知识的掌握程度,其中包括用户交互程序设计这一重要部分。下面我们...

    Java程序设计基础-陈建飞-章(与“循环”有关文档共84张).pptx

    Java编程语言中的循环是程序设计中的重要组成部分,它允许我们执行特定代码...同时,合理使用break和continue可以优化循环逻辑,提高代码效率。通过理解和熟练运用这些循环结构,可以更有效地解决编程中的重复性任务。

    JAVA程序设计课件-if else if语句.pptx

    在Java程序设计中,选择结构语句是编程中不可或缺的一部分,它们允许我们根据特定条件执行不同的代码块。OCJA(Oracle Certified Java Associate)认证是针对初级Java程序员的基础认证,其中涵盖了包括if…else if…...

    JAVA程序设计课件-商场购物清单打印.pptx

    在本Java程序设计课程中,我们关注的是"商场购物清单打印"这个综合实训项目,它旨在...记住,实践是检验理论知识的最好方式,动手编写代码并运行测试,不断调整优化,直至实现功能完善且符合需求的购物清单打印程序。

    Java程序的设计-精编教程(第2版)习题解答.doc

    1. **Java程序设计的基本步骤**:包括源代码编写、编译以及运行。 2. **环境配置**:设置`classpath`环境变量。 3. **Java源文件与字节码文件的扩展名**:了解`.java`和`.class`的区别。 4. **Java类的定义**:包括...

    Java面向对象程序设计-并发(实现Runnable接口).pptx

    并发(Concurrency)是指多个线程同时执行的能力,它可以提高程序的效率和响应速度。在Java中,线程可以通过Thread类或Runnable接口来实现。 Runnable接口是Java.lang包中的一部分,它定义了一个run()方法,该方法...

    Java程序设计-4-流程控制.zip_控制 Java

    在Java编程语言中,流程控制是编写程序时不可或缺的一部分,它决定了代码的执行顺序和条件。本教程将深入探讨Java中的流程控制结构,包括顺序控制、选择控制(条件语句)和循环控制,帮助你更好地理解和运用这些概念...

    自考Java语言程序设计(一)串讲

    - **多线程**: Java支持并发执行多个线程,从而提高程序的执行效率。 - **Java程序开发过程**: 1. **编写源代码**: 使用文本编辑器或者集成开发环境(IDE)来编写Java源代码。 2. **编译**: 将源代码编译成字节码...

    日志管理,避免程序中到处是System.out.println();

    统一管理日志打印与通过System.out.println();打印

    Java语言程序设计(第2版)第1-6章-课后习题答案.doc

    - Java程序是跨平台的,运行在Java虚拟机(JVM)上,与硬件平台无关(B选项正确,D选项错误)。 - Java不支持指针,而是通过引用进行内存管理(C选项正确)。 - Java支持多线程编程(A选项正确)。 - Java采用...

    用JAVA调用外部程序并截出程序运行结果

    在标题和描述中提到的"截出程序运行结果"部分,这通常是指收集并处理程序执行过程中的输出信息。上面的代码已经展示了如何读取和打印程序的输出。如果你需要将结果存储到文件或进行其他处理,只需改变`System.out....

Global site tag (gtag.js) - Google Analytics