Search
Write a publication
Pull to refresh
4
0
Владимир @vtarasoff

Java-разработчик

Send message

да, все верно, опечатка, конечно же вернется "def"

ну да, тут всего 5 дивов. врядли они нагрузку какую-то прям создадут
Там вот с этим условием касяк какой-то (я так и не понял, как это условие работает):
if ((x0**2 + y0**2 + z0**2 + dx**2 + dy**2 + dz**2) < (map[i][1]**2 + map[i][2]**2)){

вот если его убрать, то все ок будет.
не знаю, нужна ли демка. там три файла всего, можно скопипастить html, js и css и все самому посмотреть. я так и делал
Ой, простите, ZGC, конечно
Абсолютно согласен. Вообще никаких цифр… «у нас упало приложение на OOM, значит виноват G1, мы его отключили». и второе, где в статье сравнение с Shenandoah?
  1. Я тоже за использование шаблонного кода как можно меньше.
  2. Ничего плохого в строкового имени метода для этапа компиляции нет.
  3. Приведите код шаблонной обертки.
В данном случае единственным бескостыльным методом является:
try {
  ... открывает ресурс ...
} finally {
  ... правильно закрываем ресурс, если он не null ...
}

Все остальные варианты — это костыли (за исключением обертки, но ее писать не удобно). И @Cleanup — это аннотация, которая помогает сделать более менее красивый костыль. Переменная fake и использование передачи метода, чтобы только закрыть ресурс — она просто ужасна:
Resource res; // вот тут она объявляется только потому, что внутри try ее не объявить - это жесть №1
try (Autoclose fake = (res = ResourceCreator.create())::free) { // все, fakе больше нигде не используется, это жесть №2
  ... тут уже полезный код ...
}

Я же не говорю, что давайте использовать @Cleanup везде, нет. Если метод маленький и там один такой ресурс с free, то не беда, давайте просто try-finally сделаем. Но когда идет работа с потоками, один вкладывается в другой, разные врайтеры, которые не закрывают ресурсы, когда закрываются сами, и если их много, то почему нет? Имхо одна строчка
@Cleanup("free") Resource = ...

куда понятнее и более читаемая.
Да тут не надо использовать delombok для дебага) Зачем дебажить то, что в finally-блоке? Сам код надо дебажить и free.
Дебажить — поставить два бряка, один на код, второй на метод free. Зачем дебажить то, что происходит внутри finally? Я все-таки надеюсь, что люди, пишущие Lombok умные, и сделали там все правильно.
Ужасного там то, что он работает только на Java 8, а также то, что появляется какая-то магическая переменная fake, которая используется только для того, чтобы выполнить код очистки ресурсов, и вот это как раз-таки на первый взгляд не очевидно

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity