我对 Java 还比较陌生,不到一年前就参加了第一堂 Java 类(class),我有一个关于效率的问题。我知道
Random rng = new Random();
int num = rng.nextInt(101);
System.out.println("Random number is: " + num); //Example 1
和
Random rng = new Random();
System.out.println("Random number is: " + rng.nextInt(101)); //Example 2
是等价的。然而我的问题是哪个计算速度更快?在我看来,第一个示例存储一个变量,该变量占用 RAM。第二个示例不存储任何内容,但在打印时必须比第一个示例计算更多的东西。
在我的计算机类(class)中,我被告知来自 CPU 内部寄存器的信息比来自 RAM 的信息快得多。这是否意味着示例 2 在打印之前没有存储数字变量,因此在技术上更有效?
我当然假设我在程序的另一点不需要随机生成的数字。
感谢您提供的所有帮助:) 亲切的问候
最佳答案
任何理智的编译器都能够执行此类编译时优化,以减少额外的代码行,从而提高可读性。这不是 Java 特有的(JIT 将优化提升到一个新的水平)
关于java - 关于效率的一般查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30550950/