Pull to refresh

Comments 11

… и только совсем непонятно зачем они нужны… В статье об этом ни слова. Или я плохо читал?

Мы используем для улучшения производительности. Создавая Method handle единожды, избегаем постоянных проверок во время вызова, которые есть в java.lang.reflect.Method.
Насколько я помню в 8+ java java.lang.reflect.Method (если отключить проверки) немного быстрее methodHandle, к тому же можно пойти дальше и сделать из methodHandle лямбду используя LambdaMetafactory.metafactory что даст еще больше удобства и производительности
При использовании логирования очень удобно создавать логер следующим образом:
Logger LOGGER = Logger.getLogger(MethodHandles.lookup().lookupClass().getName());
Это избавляет от ошибок при копировании, так как эта строка как правило кочует из класса в класс в неизменном виде
Почему вы не хотите использовать lombok?
Часто нужно что-то делать в довольно старых проектах. Стэк используемых технологий в таких проектах утвержден и добавлять что-то еще без веских на то причин нам не разрешают.
Ну вообще, в Lombok очень плохо, что нужен плагин для IDE.
А что в этом плохого? Ведь плагины для idea и netbeans есть? Да и сборкой всеравно обычно занимаются maven или gradle, с которыми lombok дружит в первую очередь.
Потому что это уже есть в Java c 7 версии, а вы говорите о подключении сторонней библиотеки, с которой ещё есть особые правила использования. Это не одно и тоже. Если вы используете Lombok, то и все вокруг «должны» его использовать?
А что по скорости? Такой способ же будет медленнее, чем передвать просто строку?
Sign up to leave a comment.