相关疑难解决方法(0)

在Java中使用final关键字可以提高性能吗?

在Java中,我们看到许多final可以使用关键字的地方,但它的使用并不常见.

例如:

String str = "abc";
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)

在上述情况下,str可以final但通常不会这样做.

当一个方法永远不会被覆盖时,我们可以使用final关键字.类似地,如果一个类不会被继承.

在任何或所有这些案例中使用final关键字是否真的能提高性能?如果是这样,那怎么样?请解释.如果正确使用final真正重要的性能,应在Java程序员开发什么习惯,使关键字的最好用?

java final

332
推荐指数
8
解决办法
8万
查看次数

javac和Eclipse编译器有什么区别?

Eclipse的Java编译器只是程序所在的同一个核心的包装器javac,还是一个单独的编译器?如果是后者,为什么他们会重新发明轮子?

java eclipse javac

192
推荐指数
4
解决办法
6万
查看次数

为什么if(variable1%variable2 == 0)效率低下?

我是java的新手,并且昨晚运行了一些代码,这真让我烦恼.我正在构建一个简单的程序来显示for循环中的每个X输出,当我使用模数作为variable % variablevs variable % 5000或诸如此类时,我注意到性能的大幅下降.有人可以向我解释为什么会这样,是什么导致它?所以我可以更好......

这是"高效"代码(对不起,如果我得到一些语法错误我现在不在计算机上的代码)

long startNum = 0;
long stopNum = 1000000000L;

for (long i = startNum; i <= stopNum; i++){
    if (i % 50000 == 0) {
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是"效率低下的代码"

long startNum = 0;
long stopNum = 1000000000L;
long progressCheck = 50000;

for (long i = startNum; i <= stopNum; i++){
    if (i % progressCheck == 0) {
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我有一个日期变量来衡量差异,一旦它变得足够长,第一个花了50毫秒而另一个花了12秒或类似的东西.如果你的电脑比我的电脑更有效,你可能不得不增加stopNum或减少progressCheck.

我在网上找了这个问题,但我找不到答案,也许我只是没有问它.

编辑:我没想到我的问题如此受欢迎,我很欣赏所有答案.我确实在每一半的时间内执行了一个基准测试,效率低下的代码需要相当长的时间,1/4秒与10秒的时间相比.当然他们正在使用println,但他们都做了相同的数量,所以我不认为这会扭曲很多,特别是因为差异是可重复的.至于答案,因为我是Java新手,我会让投票现在决定哪个答案最好.我会在星期三之前选择一个.

EDIT2:我今晚要进行另一次测试,而不是模数,它只是递增一个变量,当它达到progressCheck时,它将执行一次,然后将该变量重置为0.对于第三个选项.

EDIT3.5:

我使用了这段代码,下面我将展示我的结果..谢谢大家的精彩帮助!我也尝试将long的短值与0进行比较,因此我所有的新检查都会发生"65536"次,使其在重复中相等.

public …
Run Code Online (Sandbox Code Playgroud)

java performance

177
推荐指数
3
解决办法
2万
查看次数

使用`final`方法

我知道final关键字在方法上的一个用途是强制子类使用相同的方法实现.但是,通过允许编译器将对方法的调用转换为内联java代码来提高效率意味着什么呢?我刚看过这个,但不太明白这个想法.

在这种程度上,我不理解内联Java代码的含义.如何final执行对方法的调用?在编译调用final方法的代码的过程中,Java是否有任何特殊的通知或做什么?

java final keyword

4
推荐指数
1
解决办法
127
查看次数

标签 统计

java ×4

final ×2

eclipse ×1

javac ×1

keyword ×1

performance ×1