Библиотека knigago >> Компьютеры: Языки и системы программирования >> Java, Java Script >> Java: эффективное программирование


Владимир Гаков Литературоведение Книга "Ультиматум" является глубоким и всесторонним исследованием темы ядерной войны в литературе и ее влияния на общественное восприятие. Автор Владимир Гаков исследует обширный спектр произведений, от постапокалиптической научной фантастики до документальных репортажей, чтобы выявить, как ядерная война была представлена ​​и изучена в искусстве и культуре. Гаков анализирует произведения таких авторов, как Рей Брэдбери, Курт Воннегут и Йозеф...

Джошуа Блох - Java: эффективное программирование

3-е издание Java: эффективное программирование
Книга - Java: эффективное программирование.  Джошуа Блох  - прочитать полностью в библиотеке КнигаГо
Название:
Java: эффективное программирование
Джошуа Блох

Жанр:

Программирование: прочее, Java, Java Script

Изадано в серии:

неизвестно

Издательство:

Диалектика

Год издания:

ISBN:

978-5-6041394-4-8

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Java: эффективное программирование"

Аннотация к этой книге отсутствует.

Читаем онлайн "Java: эффективное программирование". [Страница - 2]

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. --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.