1)Test.js
class Person {
age = 20;
setAge(age) {
this.age = age;
}
}
let loopCnt = 1000000000;
let s = new Date().getTime();
for (let i = 0; i < loopCnt; i++) {
let p = new Person();
p.setAge(22);
}
let e = new Date().getTime();
console.log(e - s); // 243267-->243s
2)Test.java
public class Test {
private static final int loopCnt = 1000000000;
public static void t1() {
long s = System.currentTimeMillis();
for (int i = 0; i < loopCnt; i++) {
Person p = new Person();
p.setAge(22);
}
long e = System.currentTimeMillis();
System.out.println(e - s); // 6789
}
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
t1();
}
static class Person {
private int age = 20;
public int getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
/*
1.8.0_131
4133-->4s
*/
}
可以看出:
java在創建對象開銷方面在jdk1.8之後還是很給力的。java大約是node.js的1/50的時間。
因此java在寫代碼的時候,基本可以隨便的new對象,而不用擔心性能問題,遮掩工作遊戲服務器用java更加堅定了!