我知道什么是O(n)符号,我也理解如何得到O(n),O(n 2)等符号....
但是我如何得到log(N)?
PS:我知道Collections API和一些具有O(n log n)遍历时间的类.我需要一个简单的解释.
在一个spring上下文中,我发现一些bean引用包含&在bean名称之前.我想知道&春天名字的开头意味着什么.
我发现了一个奇怪的注释:
public static @interface WebResult { }
Run Code Online (Sandbox Code Playgroud)
为什么static?他们是如何编译的?我的IDE不允许这样的修改器!
包含的类是javax.jws.WebResult.
我用两种不同的方式计算斐波那那排.为什么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) 1.4中有一个双重检查问题 http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html 它是否在以后的JDK中得到修复?
我有使用hibernate orm与db一起工作的java应用程序?那么什么是在db中检查记录(映射到hibernate对象)的presense的最快方法
我只是想在主线程中等待,直到运行中的某个事件.我怎么能用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 ×6
algorithm ×2
annotations ×1
big-o ×1
concurrency ×1
hibernate ×1
memory-model ×1
recursion ×1
spring ×1
static ×1