JAVA方法调用效率差别
最近需要做一些JAVA底层操作,为了尽可能提高效率做了如下测试。
在同一个类中建立普通的PUBLIC方法和PUBLIC STATIC 方法两种,并使用JUnit进行多次循环。最终证明使用对象的方式调用效率高。
上结果。
起始时间Fri Mar 05 10:15:37 CST 2010结束时间Fri Mar 05 10:15:38 CST 2010时间间隔891
起始时间Fri Mar 05 10:15:38 CST 2010结束时间Fri Mar 05 10:15:39 CST 2010时间间隔1047
起始时间Fri Mar 05 10:15:45 CST 2010结束时间Fri Mar 05 10:15:46 CST 2010时间间隔875
起始时间Fri Mar 05 10:15:46 CST 2010结束时间Fri Mar 05 10:15:47 CST 2010时间间隔1046
起始时间Fri Mar 05 10:15:55 CST 2010结束时间Fri Mar 05 10:15:56 CST 2010时间间隔891
起始时间Fri Mar 05 10:15:56 CST 2010结束时间Fri Mar 05 10:15:57 CST 2010时间间隔1047
上代码
package efficiency;
public class Efficiency {
public void eff() {
int a = 0;
for (int i = 0; i < 10000; i++) {
a += i;
}
}
public static void eff1() {
int a = 0;
for (int i = 0; i < 10000; i++) {
a += i;
}
}
}
package efficiency;
import org.junit.Test;
public class EfficiencyTest {
@Test
public void testEff() {
long st = new java.util.Date().getTime();
for (int i = 0; i < 100000; i++) {
new Efficiency().eff();
}
long en = new java.util.Date().getTime();
System.out.println("起始时间" + new java.util.Date(st) + "结束
相关文档:
1, 为什么wait与notify之前必须要加synchronized?
答案其实很简单,也是为了防止等待-通知机制出现race condition
为什么会出现race condition ?
答: 对象在被wait之前已经被另一线程notify , 之后的wait 会永久停止,并导致deadlock(死锁)
理想情况:
1, 第一个线程判断该对象是否要wait
2, 第一个线程将对象wait
3 ......
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大
的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者
在进行抽象类定义时对于abstract class和interface ......
/*
* @(#)ObjectPoolManager.java 1.00 2005-5-1
*
* Copyright 2005 BeanSoft Studio. All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package  ......
Apache MINA (mina-2.0.0-M6源码为例):
我们使用mina nio tcp最常用的样例如下:
NioSocketAcceptor acceptor = new NioSocketAcceptor(/*NioProcessorPool's size*/);
DefaultIoFilterChainBuilder cha ......