Раньше, когда я впервые разрабатывал программное обеспечение, связанное с запасом, я решил использовать 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, чтобы повысить производительность приложения? Есть ли какая-нибудь ловушка, на которую нужно обратить внимание?