Подтвердить что ты не робот

API-интерфейс MongoDB Java: put() vs append()

Я новичок в mongodb и просматриваю учебник для Java и Mongodb. Я заметил, что есть put() и append() для BasicDBObject, и я взглянул на API, put() inherit и append() является встроенным в BasicDBObject. Кто-нибудь другой, например, скорость доступа? Спасибо!

4b9b3361

Ответ 1

Из BasicDBObject источников:

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

put() возвращает предыдущее значение, если это применимо. append() вызывает put() внутренне и возвращает экземпляр BasicDBObject. По существу, append() - это более свободный интерфейс для put(). Это позволяет вам сделать что-то вроде этого:

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

Что касается производительности, JVM предположительно будет встроенными методами, такими как append(), если они используются достаточно часто где-то. Однако из моего опыта и довольно много профилирования это не всегда верно, и вы должны немного ускориться, используя put() напрямую и сохраняя JVM догадки.

Тем не менее, читаемость кода всегда должна быть приоритетом. Просто напишите свой код, когда вам будет комфортно, и сравните его с профилем, чтобы найти возможные оптимизации. Преждевременная оптимизация - это соблазн, которого следует избегать любой ценой...