我是第一次接触Mongodb,并且在学习Java & mongodb教程时也是如此。我注意到BasicDBObject有put()和append(),我看了一下接口,put()继承和append()是BasicDBObject的内置函数。有没有人有什么不同,比如访问速度?谢谢!
发布于 2011-07-08 09:02:50
public BasicDBObject append( String key , Object val ){
put( key , val );
return this;
}如果适用,put()将返回前一个值。append()在内部调用put()并返回BasicDBObject实例本身。从本质上讲,append()更像是put()的fluent interface。它允许你这样做:
BasicDBObject o = new BasicDBObject().append("One", 1).append("Two", 2).append("Three", 3);就性能而言,如果像append()这样的方法在某些地方使用得足够频繁,那么JVM应该会内联这些方法。然而,根据我的经验和相当多的分析,这并不总是正确的,通过直接使用put()并省去对JVM的猜测,您一定会获得一些速度。
也就是说,代码的可读性应该始终是优先考虑的。只需编写您觉得舒服的代码,然后进行基准测试/分析,以找到任何可能的优化。过早优化是一种诱惑,应该不惜一切代价避免……
https://stackoverflow.com/questions/6570088
复制相似问题