A
Size: a a a
VP
PC
AG
class VersionImpl implements Version {
private int v;
VersionImpl(int v) {
this.v = v;
}
compareTo(Version other) {
return Integer.compare(v, ((VersionImpl)other) .v)
}
} class VersionImpl implements Version<VersionImpl> {
@Override
public int compareTo(VersionImpl o) {
return 0;
}
}
interface Version<T extends Version<T>> extends Comparable<T> {}PC
class VersionImpl implements Version<VersionImpl> {
@Override
public int compareTo(VersionImpl o) {
return 0;
}
}
interface Version<T extends Version<T>> extends Comparable<T> {}A
А
P
AG
PESSIMISTIC_WRITE-локом (т.е. select for update). Одна транзакция выигрывает, вторая зависает на локе.SP
AG
AG
AG
findById. Если его убрать, то всё будет работать, как и планировалось.SP
SP
AG
GM
findById. Если его убрать, то всё будет работать, как и планировалось.