Найти проблемы в коде

277
24 июня 2017, 10:52

Получил задачу, найти все возможные проблемы в коде класса, но без объяснения, что считать проблемой, а что просто неудачным решением. Пока вижу только следующее:

  1. Использование массива в качестве ключа, без переопределения методов equals и hashcode работать не будет.
  2. Мар не иниизиализирован, всегда будет null.
  3. Неоптимальный алгоритм, два раза проверяем одно и то же.
  4. Синхронизацию лучше сделать через Collections.synchronizedMap(map).

Что я упустил?

И собственно сам код.

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);
}
READ ALSO
Типизированный класс

Типизированный класс

что такое собственный типизированный класс? Приведите пожалуйста примеры небольшие, чтобы понятьСпасибо

341
Как открывать txt файлы двойным кликом java (javafx) приложением?

Как открывать txt файлы двойным кликом java (javafx) приложением?

Имеется файл Doubleclickjar который при запуске открывает окно (javafx) в окне выводится простая строка выводящая аргументы полученные из public static...

315
Android Studio ошибка при запуске проекта Execution failed for task &#39;:app:mergeDebugResources&#39;

Android Studio ошибка при запуске проекта Execution failed for task ':app:mergeDebugResources'

При запуке любого нового андроид проекта, либо при сборке apk, а также просто при автоматической проверке проекта происходит ошибка:

546
Ошибка OutOfMemoryError: Java heap space при использовании JSoup. Сохранение большого HTML документа

Ошибка OutOfMemoryError: Java heap space при использовании JSoup. Сохранение большого HTML документа

Использую библиотеку Jsoup для работы с HTML документамиЗагружаю из шаблона HTML документ,

500