相关疑难解决方法(0)

如何在Java中编写正确的微基准测试?

你如何在Java中编写(并运行)正确的微基准测试?

我在这里寻找代码示例和注释,说明要考虑的各种事项.

示例:基准测量应该测量时间/迭代或迭代/时间,为什么?

相关:秒表基准可以接受吗?

java benchmarking jvm jvm-hotspot microbenchmark

835
推荐指数
11
解决办法
11万
查看次数

哪个更有效,for-each循环还是迭代器?

哪种是最有效的遍历集合的方式?

List<Integer>  a = new ArrayList<Integer>();
for (Integer integer : a) {
  integer.toString();
}
Run Code Online (Sandbox Code Playgroud)

要么

List<Integer>  a = new ArrayList<Integer>();
for (Iterator iterator = a.iterator(); iterator.hasNext();) {
   Integer integer = (Integer) iterator.next();
   integer.toString();
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不是这个,这个,这个这个的完全重复,尽管最后一个问题的答案之一很接近.这不是欺骗的原因是,大多数都是比较你get(i)在循环中调用的循环,而不是使用迭代器.

正如Meta上所建议的,我将发布我对这个问题的回答.

java collections foreach

196
推荐指数
4
解决办法
18万
查看次数

如何在Eclipse中查看JRE的源代码?

使用Eclipse我想查看核心Java类的源代码(例如java.util.concurrent.ConcurrentHashMap),但是当我使用"Open Declaration"导航到源代码时,它会显示"Source not found"并给我选择附加源代码.

我的问题是; 我如何附加源?我从哪里获得java.util.concurrent图书馆的源.jar ?

java eclipse

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

Java 8 lambdas和匿名内部类之间的性能差异

在Java 8之前,可以通过使用匿名内部类来实现lambda功能.例如:

interface Lambda {
    void doStuff();
}

// ...

public void doWithCallback(Lambda callback) {
    // ...
    callback.doStuff();
}

// ...

doWithCallback(new Lambda { 
    public void doStuff() { 
        // ... 
    } 
});
Run Code Online (Sandbox Code Playgroud)

在性能方面,仍然使用这种方法和使用新的Java 8 lambda之间有区别吗?

java performance closures java-8

53
推荐指数
1
解决办法
1万
查看次数

如何在Netbeans 7中附加缺少的Java JDK源代码

当我尝试在NetBeans中导航到一些JDK源代码时,它只显示它的编译代码并且缺少源代码并且我可以附加它.使用"Attach .."按钮附加源后没有任何反应?我应该在哪里附上源代码?

java netbeans netbeans-platform netbeans-7

6
推荐指数
1
解决办法
5263
查看次数

我在java 8 lambda Predicate <Integer>上做错了什么?

不是我的问题的重复.我检查它和我是如何利用适当的谓词 THAT约为removeIf和删除之间的差异.

我是Java初学者.
昨天,我试着按照这个教程https://dzone.com/articles/why-we-need-lambda-expressions
在我学会了如何使用Lambda表达式和谓词后,我自己制作了代码来练习.
比如,总和所有数字if(n%3 == 0 || n%5 == 0).这是我的代码.

public class Euler1Lambda {
    long max;
    public Euler1Lambda(long max) {
        this.max = max;
    }
public static boolean div3remainder0(int number) {
    return number % 3 == 0;
}

public static boolean div5remainder0(int number) {
    return number % 5 == 0;
}

public long sumAll() {
    long sum = 0;
    for(int i=1; i<max; i++) {
        if (div3remainder0(i) ||div5remainder0(i)) {
            sum += i;
        }
    }
    return …
Run Code Online (Sandbox Code Playgroud)

java lambda for-loop predicate java-8

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