Получил задачу, найти все возможные проблемы в коде класса, но без объяснения, что считать проблемой, а что просто неудачным решением. Пока вижу только следующее:
Что я упустил?
И собственно сам код.
public abstract class Doing {
private Map<byte[], byte[]> map = new HashMap<byte[], byte[]>();
public byte[] doing(byte[] input) {
byte[] result = map.get(input);
if (result == null) {
synchronized (map) {
result = map.get(input);
if (result == null) {
result = doSomething(input);
map.put(input, result);
}
}
}
return result;
}
protected abstract byte[] doSomething(byte[] input);
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости