当前位置: 首页 > 面试题库 >

System.out.println()与Java中的\ n

宁修永
2023-03-14
问题内容

假设我要打印5行。哪种方法最好(提高性能和可读性)。

System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println();

要么

System.out.println("\n\n\n\n");

是偏好问题还是一个优于另一个问题。使用第二种方法似乎可以节省很多时间。


问题答案:

有一个 功能性 两者之间的区别。第一个版本使用平台的首选行分隔符输出换行符。第二个版本输出换行符,这在Windows或Mac OS上可能是不合适的。

这比任何实际或想象的性能优势都重要。

关于性能,以及为什么每个人似乎都说“已经足够”了。

两种编写代码的方式之间的性能差异可能只有几微秒或更短。换句话说,最终用户将不会注意到差异…除非代码执行了数百万次。

作为一般规则,专业软件工程师的看法是这是不值得花时间做的东西更快,如果它并不 需要是 快。而且它 肯定 不值得花客户的钱这样做。

仅当您有明确的证据表明存在或将出现性能问题,并且要优化的代码才是真正的问题所在时,才应该沉迷于微优化。优化错误代码所花费的时间是浪费时间。

那么,您如何知道 何时 进行优化?

  • 与实际重要的标准相比,当应用程序 观察到的 速度很慢时。

你怎么知道 什么 优化?

  • 通过运行应用程序分析器,并分析其输出以查看实际性能热点和瓶颈在哪里。

性能并不总是不重要的问题。实际上,对于某些类型的软件,不考虑性能和可伸缩性要求的设计或实现可能完全是灾难。但是,大多数软件并非如此。



 类似资料:
  • 和在Java中有什么联系?例如: 如果main类运行,它会给出的输出。当我删除重写的代码时,它给出的输出为。那么,有人能解释一下当我将对象引用作为参数传递给它时 ; 的工作原理是什么吗?它是否与方法完全连接?

  • 问题内容: 我正在使用PMD插件进行日食,使用说明时出现错误: 使用System。(out | err).print,请考虑使用记录器。 我的问题是-什么是记录仪?如何用于打印到屏幕上?为什么会更好? 问题答案: 请参阅log4j的简短介绍。 问题在于用于打印调试或诊断信息。这是一种不好的做法,因为您无法轻松更改日志级别,关闭日志级别,对其进行自定义等。 但是,如果您合法地用于向用户打印信息,则可

  • 问题内容: 这个静态函数是来自名称空间的类中的吗? 我该如何解释这个名字?在JRE中的哪个位置定义了此功能?在/ ? 问题答案: 否。实际上是类中的静态成员(不是.NET中的静态成员),它是。的实例。并且是该类的常规(重载)方法。 请参阅http://download.oracle.com/javase/6/docs/api/java/lang/System.html#out。 其实,如果/ /

  • 问题内容: 以下代码中有错误吗?它显示找不到符号,符号:类出位置:类系统。在日志中,它显示了很多错误,包括 java.lang.ClassFormatError:类Area中的方法“”具有非法签名“(Ljava / lang / Object;)Ljava / lang / System $ out $ println;” 问题答案: 该语句应写在某些块中。不能直接在课堂上写。 它应该放在大括号内

  • 问题内容: 首先感到遗憾的是,如果这是一个非常基本的问题,我建议我仍然是代码猴子。我在一次采访中被要求阐明System.out.println(); 我解释了以下方式 我已经解释说System.out是有效的,因为这是我们在Java中访问静态变量的方式,而out是PrintStream的对象,因此我们可以访问其方法。 他要求我模拟一个类似的程序,我跟踪了它,但是它没有用,因为System.out返

  • 问题内容: 我在项目中第一次使用log4j。一位程序员告诉我,使用被认为是一种不好的风格,而log4j类似于当今用于记录事务的标准。 我们进行了大量的JUnit测试- 结果很难测试。 因此,我开始将log4j用于控制台控制器类,该类仅用于处理命令行参数。 似乎可以工作: 产生: 我对此有 两个 问题: 根据我的基本理解,使用此记录器应该为我提供一个方便的选项,以便使用时间戳编写日志文件-而不是向控