MongoDB Java API:put()vs append()

shh*_*shh 18 java mongodb

我是mongodb的新手,当我浏览Java和Mongodb的教程时.我注意到BasicDBObject有put()和append(),我看了一下API,put()inherit和append()是BasicDBObject的内置函数.有没有什么是不同的,例如访问速度?谢谢!

thk*_*ala 21

来自BasicDBObject消息来源:

public BasicDBObject append( String key , Object val ){
    put( key , val );
    return this;
}
Run Code Online (Sandbox Code Playgroud)

put()如果适用,返回先前的值.append()put()内部调用并返回BasicDBObject实例本身.从本质上讲,append()是一个更流畅的界面进行put().它允许你做这样的事情:

BasicDBObject o = new BasicDBObject().append("One", 1).append("Two", 2).append("Three", 3);
Run Code Online (Sandbox Code Playgroud)

就性能而言,JVM 应该是内联方法,就好像append()它们在某个地方经常被使用一样.然而,根据我的经验和相当多的分析,这并不总是正确的,你必须通过put()直接使用并节省JVM的猜测来获得一点点速度.

也就是说,代码可读性应始终是优先考虑的事项.只需在您感觉舒适时编写代码,然后在基准/配置文件中查找任何可能的优化.过早优化是一种应该不惜一切代价避免的诱惑......