Are transient objects safe from double-checked locking?
private transient java.lang.ThreadLocal __hashHistory;
public int hashCode() {
if (__hashHistory == null) {
synchronized (this) {
if (__hashHistory == null) {
__hashHistory = new java.lang.ThreadLocal();
}
}
}
Or does the object need to be volatile?