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更加坚定了!