Джошуа Блох - Java: эффективное программирование
3-е изданиеНазвание: | Java: эффективное программирование | |
Автор: | Джошуа Блох | |
Жанр: | Программирование: прочее, Java, Java Script | |
Изадано в серии: | неизвестно | |
Издательство: | Диалектика | |
Год издания: | 2019 | |
ISBN: | 978-5-6041394-4-8 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Java: эффективное программирование"
Аннотация к этой книге отсутствует.
Читаем онлайн "Java: эффективное программирование". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (19) »
hashCode
67
67
81
29
34
43
46
47
50
53
57
63
3.3. Всегда перекрывайте toString
3.4. Перекрывайте метод clone осторожно
3.5. Подумайте о реализации Comparable
87
90
100
Глава 4. Классы и интерфейсы
4.1. Минимизируйте доступность классов и членов
4.2. Используйте в открытых классах методы доступа,
а не открытые поля
4.3. Минимизируйте изменяемость
4.4. Предпочитайте композицию наследованию
4.5. Проектируйте и документируйте наследование
либо запрещайте его
4.6. Предпочитайте интерфейсы абстрактным классам
4.7. Проектируйте интерфейсы для потомков
4.8. Используйте интерфейсы только для определения типов
4.9. Предпочитайте иерархии классов дескрипторам классов
4.10. Предпочитайте статические классы-члены нестатическим
4.11. Ограничивайтесь одним классом верхнего уровня
на исходный файл
109
109
Глава 5. Обобщенное программирование
5.1. Не используйте несформированные типы
5.2. Устраняйте предупреждения о непроверяемом коде
5.3. Предпочитайте списки массивам
5.4. Предпочитайте обобщенные типы
5.5. Предпочитайте обобщенные методы
5.6. Используйте ограниченные символы подстановки
для повышения гибкости API
5.7. Аккуратно сочетайте обобщенные типы и переменное
количество аргументов
5.8. Применяйте безопасные с точки зрения типов
гетерогенные контейнеры
159
159
165
168
173
17 8
Глава 6. Перечисления и аннотации
6.1. Используйте перечисления вместо констант int
6.2. Используйте поля экземпляров вместо порядковых значений
6.3. Используйте EnumSet вместо битовых полей
203
203
216
217
114
117
125
131
138
144
147
149
152
156
183
190
196
6.4. Используйте ЕпшпМар вместо индексирования порядковыми
номерами
6.5. Имитируйте расширяемые перечисления с помощью интерфейсов
6.6. Предпочитайте аннотации схемам именования
6.7. Последовательно используйте аннотацию Override
6.8. Используйте интерфейсы-маркеры для определения типов
219
225
229
239
242
Глава 7. Лямбда-выражения и потоки
7.1. Предпочитайте лямбда-выражения анонимным классам
7.2. Предпочитайте ссылки на методы лямбда-выражениям
7.3. Предпочитайте использовать стандартные функциональные
интерфейсы
7.4. Разумно используйте потоки
7.5. Предпочитайте в потоках функции без побочных эффектов
7.6. Предпочитайте коллекции потокам в качестве
возвращаемых типов
7.7. Будьте внимательны при параллелизации потоков
245
245
250
Глава 8. Методы
8.1. Проверяйте корректность параметров
8.2. При необходимости создавайте защитные копии
8.3. Тщательно проектируйте сигнатуры методов
8.4. Перегружайте методы разумно
8.5. Используйте методы с переменным количеством аргументов
с осторожностью
8.6. Возвращайте пустые массивы и коллекции, а не null
8.7. Возвращайте Optional с осторожностью
8.8. Пишите документирующие комментарии для всех открытых
элементов API
283
283
287
292
294
Глава 9. Общие вопросы программирования
9.1. Минимизируйте область видимости локальных переменных
9.2. Предпочитайте циклы for для коллекции традиционным
циклам for
9.3. Изучите и используйте возможности библиотек
9.4. Если вам нужны точные ответы, избегайте float и double
321
321
252
257
265
271
277
302
304
307
312
324
328
331
9.5. Предпочитайте примитивные типы упакованным
примитивным типам
9.6. Избегайте применения строк там, где уместнее другой тип
9.7. Помните о проблемах производительности
при конкатенации строк
9.8. Для ссылки на объекты используйте их интерфейсы
9.9. Предпочитайте интерфейсы рефлексии
9.10. Пользуйтесь машинно-зависимыми методами осторожно
9.11. Оптимизируйте осторожно
9.12. Придерживайтесь общепринятых соглашений по именованию
Глава 10. Исключения
10.1. Используйте исключения только в исключительных ситуациях
10.2. Используйте для восстановления проверяемые исключения,
а для программных ошибок — исключения времени выполнения
10.3. Избегайте ненужных проверяемых исключений
10.4. Предпочитайте использовать стандартные исключения
10.5. Генерируйте исключения, соответствующие абстракции
10.6. Документируйте все исключения, которые может
генерировать метод
10.7. Включайте в сообщения информацию о сбое
10.8. Добивайтесь атомарности сбоев
10.9. Не игнорируйте исключения
Глава 11. Параллельные вычисления
11.1. Синхронизируйте доступ к совместно используемым
изменяемым данным
11.2. --">
67
67
81
29
34
43
46
47
50
53
57
63
3.3. Всегда перекрывайте toString
3.4. Перекрывайте метод clone осторожно
3.5. Подумайте о реализации Comparable
87
90
100
Глава 4. Классы и интерфейсы
4.1. Минимизируйте доступность классов и членов
4.2. Используйте в открытых классах методы доступа,
а не открытые поля
4.3. Минимизируйте изменяемость
4.4. Предпочитайте композицию наследованию
4.5. Проектируйте и документируйте наследование
либо запрещайте его
4.6. Предпочитайте интерфейсы абстрактным классам
4.7. Проектируйте интерфейсы для потомков
4.8. Используйте интерфейсы только для определения типов
4.9. Предпочитайте иерархии классов дескрипторам классов
4.10. Предпочитайте статические классы-члены нестатическим
4.11. Ограничивайтесь одним классом верхнего уровня
на исходный файл
109
109
Глава 5. Обобщенное программирование
5.1. Не используйте несформированные типы
5.2. Устраняйте предупреждения о непроверяемом коде
5.3. Предпочитайте списки массивам
5.4. Предпочитайте обобщенные типы
5.5. Предпочитайте обобщенные методы
5.6. Используйте ограниченные символы подстановки
для повышения гибкости API
5.7. Аккуратно сочетайте обобщенные типы и переменное
количество аргументов
5.8. Применяйте безопасные с точки зрения типов
гетерогенные контейнеры
159
159
165
168
173
17 8
Глава 6. Перечисления и аннотации
6.1. Используйте перечисления вместо констант int
6.2. Используйте поля экземпляров вместо порядковых значений
6.3. Используйте EnumSet вместо битовых полей
203
203
216
217
114
117
125
131
138
144
147
149
152
156
183
190
196
6.4. Используйте ЕпшпМар вместо индексирования порядковыми
номерами
6.5. Имитируйте расширяемые перечисления с помощью интерфейсов
6.6. Предпочитайте аннотации схемам именования
6.7. Последовательно используйте аннотацию Override
6.8. Используйте интерфейсы-маркеры для определения типов
219
225
229
239
242
Глава 7. Лямбда-выражения и потоки
7.1. Предпочитайте лямбда-выражения анонимным классам
7.2. Предпочитайте ссылки на методы лямбда-выражениям
7.3. Предпочитайте использовать стандартные функциональные
интерфейсы
7.4. Разумно используйте потоки
7.5. Предпочитайте в потоках функции без побочных эффектов
7.6. Предпочитайте коллекции потокам в качестве
возвращаемых типов
7.7. Будьте внимательны при параллелизации потоков
245
245
250
Глава 8. Методы
8.1. Проверяйте корректность параметров
8.2. При необходимости создавайте защитные копии
8.3. Тщательно проектируйте сигнатуры методов
8.4. Перегружайте методы разумно
8.5. Используйте методы с переменным количеством аргументов
с осторожностью
8.6. Возвращайте пустые массивы и коллекции, а не null
8.7. Возвращайте Optional с осторожностью
8.8. Пишите документирующие комментарии для всех открытых
элементов API
283
283
287
292
294
Глава 9. Общие вопросы программирования
9.1. Минимизируйте область видимости локальных переменных
9.2. Предпочитайте циклы for для коллекции традиционным
циклам for
9.3. Изучите и используйте возможности библиотек
9.4. Если вам нужны точные ответы, избегайте float и double
321
321
252
257
265
271
277
302
304
307
312
324
328
331
9.5. Предпочитайте примитивные типы упакованным
примитивным типам
9.6. Избегайте применения строк там, где уместнее другой тип
9.7. Помните о проблемах производительности
при конкатенации строк
9.8. Для ссылки на объекты используйте их интерфейсы
9.9. Предпочитайте интерфейсы рефлексии
9.10. Пользуйтесь машинно-зависимыми методами осторожно
9.11. Оптимизируйте осторожно
9.12. Придерживайтесь общепринятых соглашений по именованию
Глава 10. Исключения
10.1. Используйте исключения только в исключительных ситуациях
10.2. Используйте для восстановления проверяемые исключения,
а для программных ошибок — исключения времени выполнения
10.3. Избегайте ненужных проверяемых исключений
10.4. Предпочитайте использовать стандартные исключения
10.5. Генерируйте исключения, соответствующие абстракции
10.6. Документируйте все исключения, которые может
генерировать метод
10.7. Включайте в сообщения информацию о сбое
10.8. Добивайтесь атомарности сбоев
10.9. Не игнорируйте исключения
Глава 11. Параллельные вычисления
11.1. Синхронизируйте доступ к совместно используемым
изменяемым данным
11.2. --">
- 1
- 2
- 3
- 4
- . . .
- последняя (19) »
Книги схожие с «Java: эффективное программирование» по жанру, серии, автору или названию:
Скотт Мейерс - Эффективное использование STL Жанр: Современные российские издания Год издания: 2002 Серия: Библиотека программиста |
Александр Анатольевич Сорокин - Объектно-ориентированное программирование. LAZARUS (Free Pascal): лабораторный практикум Жанр: Учебники и пособия ВУЗов Год издания: 2014 |
Эрик Чоу - Python для сетевых инженеров. Автоматизация сети, программирование и DevOps Жанр: Сети Год издания: 2023 Серия: Для профессионалов |
Ирина Андреевна Кудрявцева, Михаил Владимирович Швецкий - Программирование. Теория типов. Учебное пособие для вузов Жанр: Учебники и пособия ВУЗов Год издания: 2022 Серия: Высшее образование |