Раньше, когда я впервые разрабатывал программное обеспечение, связанное с запасом, я решил использовать java.util.Date для представления информации о дате/времени запаса.
Позже я понимаю, что большинство методов в java.util.Date устарело. Поэтому очень скоро я реорганизую весь свой код, чтобы использовать java.util.Calendar
Однако есть два недостатка, с которыми я сталкиваюсь.
- Конструкция
java.util.Calendarявляется сравнительной медленнее, чемjava.util.Date - Внутри метода getCalendar класса
Stockдля accessors мне нужно клонировать копию, так какCalendarявляется изменяемым классом
Вот текущий исходный код Stock.java
Недавно я обнаружил Joda-Time. Я делаю следующий бенчмаркинг, создавая 1 000 000 java.util.Date, java.util.Calendar и org.joda.time.DateTime. Я обнаружил, что org.joda.time.DateTime работает лучше, чем java.util.Calendar, во время создания экземпляра.
Ниже приведен сравнительный результат
.
Эта скорость создания экземпляра важна, особенно многие экземпляры акций будут созданы, чтобы представлять длинную историю цен акций.
Как вы думаете, стоит ли мигрировать из Java Calendar в Joda Date Time, чтобы повысить производительность приложения? Есть ли какая-нибудь ловушка, на которую нужно обратить внимание?