Прикольный код, но разве это плохой код? Плохой код должен выглядеть хорошо, с лёгкостью проходить code review, содержать подробные комментарии неверно описывающие работу кода, обильное, но бесполезное журналирование. Программа должна работать медленно и жрать все ресурсы, содержать "оптимизации" пускающие исполнение для тестирования и для прода по разным ветвям (навскидку - можно завязаться на число ядер), а ещё нужны гонки и дедлоки, но так, что бы это стабильно работало при тестировании и нестабильно в проде, например можно использовать неявный сброс кэшей цпу при запиcи в лог - включаем debug - всё работает, выключаем - тоже работает, но уже случайно. Для борьбы с гонками хорошо бы использовать sleep-ы, но так мы не пройдём ПР, поэтому задержки нужны неявные, вызовы во внешние сервисы... Время рабочее, внешние сервисы отвечают быстро - у нас всё хорошо, вечер, прайм-тайм, растёт RT - добавляется элемент игры. Память, она дожна течь, но не хип, это банально, пускай течёт директ, но не всегда, тоже что бы от луны в меркурии зависел и так что бы OOMKiller приходил внезапно. В код надо добавить уязвимостей, здесь без Unsafe-а не обойтись. Исключения надо ловить все, но только в основном потоке и не ловить в параллельных. У нас же память должна течь? - значит Throwable ловить не надо или ловить, но глушить, не надо никого смущать OOM-ами. И конечно же, необходимо обеспечить выход из программы как минимум в 3-х местах через System.exit();
Прикольный код, но разве это плохой код? Плохой код должен выглядеть хорошо, с лёгкостью проходить code review, содержать подробные комментарии неверно описывающие работу кода, обильное, но бесполезное журналирование. Программа должна работать медленно и жрать все ресурсы, содержать "оптимизации" пускающие исполнение для тестирования и для прода по разным ветвям (навскидку - можно завязаться на число ядер), а ещё нужны гонки и дедлоки, но так, что бы это стабильно работало при тестировании и нестабильно в проде, например можно использовать неявный сброс кэшей цпу при запиcи в лог - включаем debug - всё работает, выключаем - тоже работает, но уже случайно. Для борьбы с гонками хорошо бы использовать sleep-ы, но так мы не пройдём ПР, поэтому задержки нужны неявные, вызовы во внешние сервисы... Время рабочее, внешние сервисы отвечают быстро - у нас всё хорошо, вечер, прайм-тайм, растёт RT - добавляется элемент игры.
Память, она дожна течь, но не хип, это банально, пускай течёт директ, но не всегда, тоже что бы от луны в меркурии зависел и так что бы OOMKiller приходил внезапно. В код надо добавить уязвимостей, здесь без Unsafe-а не обойтись. Исключения надо ловить все, но только в основном потоке и не ловить в параллельных. У нас же память должна течь? - значит Throwable ловить не надо или ловить, но глушить, не надо никого смущать OOM-ами. И конечно же, необходимо обеспечить выход из программы как минимум в 3-х местах через System.exit();