java和node.js创建10亿个对象的开销--》java大约是node.js的1/50的时间

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

发布了1620 篇原创文章 · 获赞 144 · 访问量 179万+

猜你喜欢

转载自blog.csdn.net/themagickeyjianan/article/details/105055403