小编use*_*444的帖子

log(n)来自O(N)表示法

我知道什么是O(n)符号,我也理解如何得到O(n),O(n 2)等符号....

  • O(n)意味着我必须完成一次序列
  • O(n 2)表示我有两个嵌套循环遍历序列

但是我如何得到log(N)?

PS:我知道Collections API和一些具有O(n log n)遍历时间的类.我需要一个简单的解释.

algorithm big-o programming-languages

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

了解弹簧箱名称"& myBean"

在一个spring上下文中,我发现一些bean引用包含&在bean名称之前.我想知道&春天名字的开头意味着什么.

java spring

3
推荐指数
1
解决办法
875
查看次数

注释类"public static @interface"中的static关键字是什么?

我发现了一个奇怪的注释:

public static @interface WebResult { }
Run Code Online (Sandbox Code Playgroud)

为什么static?他们是如何编译的?我的IDE不允许这样的修改器!

包含的类是javax.jws.WebResult.

java static annotations

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

两种不同的递归方式

我用两种不同的方式计算斐波那那排.为什么fib1的执行时间比fib2长得多?

public class RecursionTest {

    @Test
    public void fib1() {
        long t = System.currentTimeMillis();

        long fib = fib1(47);

        System.out.println(fib + "  Completed fib1 in:" + (System.currentTimeMillis() - t));

        t = System.currentTimeMillis();

        fib = fib2(47);

        System.out.println(fib + "  Completed fib2 in:" + (System.currentTimeMillis() - t));

    }


    long fib1(int n) {
        if (n == 0 || n == 1) {
            return n;
        } else {
            return fib1(n - 1) + fib1(n - 2);
        }
    }


    long fib2(int n) {
        return n == …
Run Code Online (Sandbox Code Playgroud)

java algorithm recursion

0
推荐指数
2
解决办法
331
查看次数

0
推荐指数
1
解决办法
816
查看次数

使用hibernate检查数据库表中某些记录的最快方法

我有使用hibernate orm与db一起工作的java应用程序?那么什么是在db中检查记录(映射到hibernate对象)的presense的最快方法

java hibernate query-optimization

-2
推荐指数
1
解决办法
4238
查看次数

如何锁定一个线程并等待锁定将在另一个线程中释放

我只是想在主线程中等待,直到运行中的某个事件.我怎么能用java.util.concurency类来做呢?谢谢!

PS我的问题是否真的解释不好,正确性检查是不是很糟糕?我的意思是这个消息"哎呀!你的问题无法提交,因为:

你的帖子没有太多的上下文来解释代码部分; 请更清楚地解释你的情景."?

public class LockingTest {
    private Lock initLock = new ReentrantLock();

    @Test
    public void waiting(){
        initLock.lock();
        final Condition condition = initLock.newCondition();
        long t1= System.currentTimeMillis();
        Thread th = new Thread(new Runnable(){
            @Override public void run() {

                try {
                    Thread.currentThread().sleep(2000);
                } catch (InterruptedException e) {}
                initLock.unlock();
           }
        });
        th.start();

        try {
            condition.await(3000, TimeUnit.MILLISECONDS);
        } catch (InterruptedException e) {}

        long t2= System.currentTimeMillis();
        System.out.println(t2-t1);
    }
}
Run Code Online (Sandbox Code Playgroud)

java concurrency

-5
推荐指数
1
解决办法
1299
查看次数