I\'ve been working under the assumption that neither Date nor Calendar are thread-safe, but, during a recent discussion, a co-worker told me
Documentation from Oracle says nothing about thread-safety: http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html.
OpenJDK source code (build b147) implements java.util.Calendar in a non-thread-safe way, for example:
public void setTimeInMillis(long millis) {
// skipped
time = millis;
isTimeSet = true;
areFieldsSet = false;
computeFields();
areAllFieldsSet = areFieldsSet = true;
}
I think that it's safe to assume that the class is not thread safe.