Вопросы по теме 'effective-java'

Java-сериализация
Я сомневаюсь, что наткнулся на книгу «Эффективная Java». Я извиняюсь, если это действительно простое и прямолинейное сомнение. Таким образом, в Пункте 74 — Реализуйте Serializable разумно , он говорит, что даже после реализации хорошего сокрытия...
633 просмотров
schedule 26.05.2022

Как использовать один конструктор для создания нескольких объектов?
Это прямо из Effective java 2. Я не уверен, что означает это утверждение из пункта 2. Шаблон Builder является гибким. Один построитель может использоваться для создания нескольких объектов. Параметры построителя можно настраивать между...
4105 просмотров
schedule 04.05.2023

как кеширование хэш-кода работает в Java, как это было предложено Джошуа Блохом в эффективной Java?
У меня есть следующий фрагмент кода из эффективного java Джошуа Блоха (пункт 9, глава 3, страница 49) Если класс является неизменяемым и стоимость вычисления хеш-кода значительна, вы можете рассмотреть возможность кэширования хэш-кода в...
8313 просмотров
schedule 18.08.2022

Правило 7 эффективного Java: избегайте финализаторов
В этой удивительной книге автор Джош Блох упоминает: "О, и еще одно: использование финализаторов серьезно снижает производительность. На моей машине время создания и уничтожения простого объекта составляет около 5,6 нс. Добавление финализатора...
1128 просмотров

Нужен ли нам метод .build () в шаблоне Builder?
У меня возник вопрос относительно «Шаблон строителя», описанный в «Эффективной Java». Нужен ли нам .build() метод для правильной реализации паттерна? Например, предположим, что у нас есть следующий класс: public class CoffeeDrink {...
10832 просмотров

Зачем объявлять все поля экземпляра переходными в синглтонах?
Чтобы сделать одноэлементный класс, реализованный с использованием любого из предыдущих подходов, сериализуемым (глава 11), недостаточно просто добавить в его объявление реализацию Serializable. Чтобы сохранить гарантию одноэлементности, вы...
773 просмотров

Действующий пример кода java Item № 5, второе издание
public class Person private final Date birthDate; // others fields omitted public boolean isBabyBoomer() { Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); gmtCal.set(1946,Calendar.JANUARY,1,0,0,0); Date boomStart...
68 просмотров
schedule 15.02.2023

Эффективный элемент Java 76: Сериализация и безопасность. Как именно хакер получает ссылки на внутренние поля Date неизменяемого объекта Period?
Хотя я понимаю общий смысл этого элемента, мне интересно понять, как именно хакер получает внутренние ссылки изменяемого объекта Period. Он искажает внутренние поля даты с помощью этих ссылок, поэтому важно понять, как именно он получает эти ссылки....
338 просмотров

В ссылках на методы конструктора разница между использованием параметров универсального типа и нет?
Я читаю «Эффективную Java 3» и заметил этот код в статье 43: «Предпочитайте ссылки на методы вместо лямбда-выражений»: TreeMap<K,V>::new Обратите внимание на параметры типа. Я всегда просто делал: TreeMap::new Я использую...
679 просмотров

Glacier Class Immutable Checker не работает на Checker Framework 3.6.0
Я пытаюсь использовать Glacier Class Immutable Checker, который не работает на Checker Framework 3.6.0. Я получаю Glacier 0.1 с Maven. ( http://mcoblenz.github.io/Glacier/ ) Затем я попытался проверить исходный код образца, но возникает ошибка....
63 просмотров