【问题标题】:MongoDB Java API: put() vs append()MongoDB Java API:put() 与 append()
【发布时间】:2011-07-04 10:13:55
【问题描述】:

我是 mongodb 的新手,并且正在阅读 Java 和 Mongodb 教程。我注意到 BasicDBObject 有 put() 和 append(),我查看了 API,put() 继承和 append() 是 BasicDBObject 的内置。有没有人有什么不同,例如访问速度?谢谢!

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    来自BasicDBObject sources

    public BasicDBObject append( String key , Object val ){
        put( key , val );
        return this;
    }
    

    put() 返回前一个值(如果适用)。 append() 在内部调用 put() 并返回 BasicDBObject 实例本身。从本质上讲,append()fluent interface 的更多 put()。它允许您执行以下操作:

    BasicDBObject o = new BasicDBObject().append("One", 1).append("Two", 2).append("Three", 3);
    

    就性能而言,如果在某处足够频繁地使用它们,JVM 将假定内联方法,如 append()。然而,根据我的经验和相当多的分析,这并不总是正确的,通过直接使用put() 并节省 JVM 的猜测,您一定会获得一点速度。

    也就是说,代码可读性应该始终是一个优先事项。只需在您觉得舒服的时候编写代码,然后进行基准测试/配置文件以找到任何可能的优化。过早的优化是一个应该不惜一切代价避免的诱惑......

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 1970-01-01
      • 2011-03-02
      • 2013-04-02
      • 2018-07-15
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多