Информация о книге

978-5-85582-347-9

Главная  » Тематика определяется » Java. Эффективное программирование

Блох Д., Java. Эффективное программирование

Лори, 2014 г., 978-5-85582-347-9


Наличие в интернет-магазинах

Магазинов: 1, Цена: от 1364 руб. посмотреть все

Описание книги

Вы ищете лаконичную книгу, где есть прозрение и мудрость, которых больше нигде не найти? Хотите лучше освоить язык программирования Java™, чтобы код, написанный вами, был правильным, понятным и пригодным для многократного использования? Ваши поиски увенчались успехом! Данная книга даст вам это и многое другое, что вы так долго искали. Книга \"Java™. Эффективное программирование\", содержащая пятьдесят семь ценных правил, предлагает решение задач программирования, с которыми большинство разработчиков сталкиваются каждый день. Всесторонне описывая приемы, которыми пользуются эксперты, создававшие платформу Java, эта книга показывает, что следует делать, а чего делать не следует для получения понятного, надежного и эффективного программного кода. Каждое правило, представленное в виде короткого законченного эссе, содержит описание проблемы, примеры программного кода, а также случаи из практики этого необычайно компетентного автора. В эссе включены специальные советы, обсуждение тонкостей языка Java, для иллюстрации выбраны превосходные примеры программ. На протяжении всей книги критически оцениваются распространенные идиомы языка Java и шаблоны разработки, даются полезные советы и методики. Книга включает в себя: - Описание общепринятых и эффективных приемов работы с языком Java, изобилующее советами эксперта, которые представлены в лаконичной, удобочитаемой и доступной форме. - Шаблоны, антишаблоны и идиомы, помогающие извлечь из платформы Java максимальную пользу. - Особенности языка Java и его библиотек, которые обычно имеют неправильное толкование: как избежать ловушек и подводных камней. - Детальный обзор механизма сериализации, в том числе практические советы, которых больше нигде не найти. - Язык Java и его самые основные библиотеки: java.lang, java.util и java.io. Привлекательная для широкого круга программистов, книга \"Java™. Эффективное программирование\" дает наиболее практичные и авторитетные рекомендации, которые можно использовать для написания эффективных, качественно спроектированных программ для рассматриваемой платформы.

Купить эту книгу можно в интернет-магазинах

  My-Shop - 1364 руб.
  Страница товара выбранного интернет-магазина откроется в новом табе

Ключевые слова


  Java 


Поделиться ссылкой на книгу



Дополнительно о книге

Огромное количество разработчиков во всем мире признают главный принцип Java: "Написанное однажды работает везде".
Сразу оговоримся, что эта рецензия необычна уже тем, что против принятых нами самими правил, в нее включен небольшой список литературы по Java на русском языке. Этот перечень подобран несколько односторонне, поскольку, во-первых, в него включены [1 - 6] книги издательства "ЛОРИ" по этому направлению, а, во-вторых, [7 - 9] - книги по Java (список неполный), раздававшиеся участникам московских Java-конференциях в 2002 и 1998 гг., организованных отделением Sun Microsystems в России. Думается, что объяснить нашу предвзятость в данном случае не сложно.
Мы постоянно работаем с издательством "ЛОРИ" по Oracle-литературе и, естественно, следим за всем корпусом компьютерной литературы, выпускаемой этим издательством;
Книги из подсписка [8 - 10] настолько хороши (это мнение российских Java-профессионалов, не только наше), что в знак благодарности грех было не отметить столь щедрый презент от Sun Microsystems (Россия).
Если же говорить серьезно, то список литературы по Java/JavaScript на русском языке только в книжном интернет-магазине на всем известном www.citforum.ru ("Море(!) аналитической информации!") составляет 46 наименований, и это не единственный и не самый полный источник. Во всем же мире стопа сложенных вместе (по одному экземпляру !) Java-изданий достигает по некоторым данным высоты то ли Эйфелевой, то ли Останкинской башни.
Следует ли задать себе риторический вопрос, в чем же оригинальность рассматриваемой книги?! - Ответ прост: это первое издание на русском языке полностью посвященное союзу Oracle & Java. (Вообще говоря, любой уважающий себя Oracle-литератор обязательно сочтет необходимым вставить в свою книгу хоть несколько страниц про Java. Исключение могут позволить себе, да и то не всегда, только корифеи от Oracle: Т.Кайт, С.Фернстайн,..., но об этом в другой раз.)
Второе "серьезное" :) нарушение наших правил рецензирования состоит в том, что мы впервые помещаем в рецензии контент, который не содержится в рассматриваемой книге: фотография г-жи Нирва Мориссо-Леруа и один из графических образов некоего атмосферного явления, восстановленный по информации, хранящейся в ее базе научных данных.
Программные приложения, разработанные Нирва Мориссо-Леруа, помогают анализировать атмосферные события, происходящие по всему миру. Источник фотографий: http://www.miami.edu/veritas/march2001/class.html#anchor1483122 и http://www.data-i.com/profile/index.html
Это связано с тем, что объектно-реляционная схема "Scientific Observation" ("Научные наблюдения"), которая рассматривается в качестве демонстрационного примера в "Oracle 8i: Java-компонентное программирование...", является частью научного проекта "Atmospheric Observations, Analyses, and The World Wide Web Using a Semantic Database", в котором принимает участие одна из авторов этой книги Нирва Мориссо-Леруа. Тем самым, читатель, следуя по страницам и главам данного издания, погружается в серьезный современный научно-информационный проект, реализуемый в подтвержденной и успешной практике большого приложения промышленного уровня. Это же свидетельствует о высоком уровне подготовленности авторов, о не тривиальности мышления и манеры изложения материала. Все это дорогого стоит. В нашем случае также определяюще важно, что проект реализуется с применением технологий Oracle & Java.
И, наконец, третьим и последним отмеченным "нарушением" будет похвала авторам за большое количество SQL-скриптов, приводимых в тексте книги. Обычно (и очень часто справедливо) за обилием представленных SQL-скриптов мы видели лишь "раздувание" листажа, объема издания. Но в "Oracle 8i: Java-компонентное программирование...", книге для программистов-разработчиков, это вполне оправдано. Вплоть до того, что если иные из наших коллег, которые вообще не признают литературный текст в компьютерной литературе, требуя исключительно и наслаждаясь только чтением программных кодов, вот то-то они получат массу удовольствий! :).
Что в первую очередь ждет читатель от книги, в которой описывается некоторая новая технология? Ну, наверное, он захочет понять:
можно ли разобраться-таки, в чем заключается эта новая технология;
как развернуть и заставить работать хотя бы изложенный в книге учебный пример;
и, наконец, можно ли самому научится разрабатывать хотя бы простые приложения с использованием этой новой технологии.
Надо сказать, что, хотя рецензируемая книга в основном отвечает этим ожиданиям, было бы ошибкой надеяться на легкое путешествие в мир симбиоза Java и Oracle с этим, в целом, неплохим путеводителем.
Книга построена по классическому методу "изложение на демонстрационном примере". Уже во введении (!) вводятся SQL-скрипты создания реляционной схемы "Purchase Order" ("Заказ на покупку") и объектно-реляционной схемы "Scientific Observation" ("Научные наблюдения"). Далее следует "Общий обзор", которой по насыщенности и плотности информации никак нельзя отнести к категории "общая разминка". И понеслось:
Часть II "Построение компонентов Enterprise JavaBeans";
Часть III "Построение компонентов CORBA";
Часть IV "Построение web-приложений с помощью страниц JSP";
Часть V "Приложения".
С подробным содержанием книги и официальной аннотацией к ней можно познакомиться на сайте "ЛОРИ" по адресу http://www.lory-press.ru/books/Or8i_Java.htm, но перечень приложений привести стоит:
А - "Краткий справочник по сервлетам и общие сведения об API сервлетов"
B - "Краткое описание API Enterprise JavaBeans"
C - "Краткий справочник по Oracle8i CORBA для Java"
D - "Краткий справочник по JavaServer Pages"
Е - "Установка и конфигурирование web-серверов для работы с Oracle JSP"
F - "Инструментальные средства Oracle8i EJB и CORBA и поддержка JSP в Jdeveloper",
поскольку по нашему общему убеждению начинать изучение книги лучше с приложений. Именно приложения (особенно E и F) содержат информацию, необходимую для развертывания учебного примера, который широко используется при изложении материала книги. Кроме того, профессиональный программист, только желающий овладеть Java-технологиями, всегда предпочтет сначала взглянуть в "Краткий справочник", нежели читать техническую литературу с "Введения". (Еще раз подчеркнем, что данная книга в этом смысле является исключением.)
Но все ли так гладко и благополучно?
Трудности начинаются с поиска файлов для развертывания учебного примера. Сопутствующего CD к книге не приложено, и настойчивому читателю предлагается отыскать эти примеры на сайте www.lory-press.ru. Найти их не сложно, но там нет файлов с командами создания схемы данных для учебного примера. Эти файлы В.Абрамову удалось найти на сайте www.data-i.com ("Не набирать же 5 страниц текста вручную!" - В.Абрамов). На сайте же www.osborne.com, ссылка на который также дается во введении к книге, найти упоминания об ней не удалось, что, видимо, связано с тем, что оригинал книги был выпущен более двух лет назад. Справедливости ради стоит отметить, что за это время книга не устарела. Более того, другие книги на русском языке на эту тему практически отсутствуют, за исключением, пожалуй, выпущенной в 2001 году издательством "ЛОРИ" книге "Oracle8i. Создание Web-приложений" [10], где языку Java уделено15 страниц и не более 30 страниц - языку XML.
В.Абрамов счел нужным призвать читателей этой книги несколько критически отнестись к предисловию, написанному вице-президентом группы платформы Java корпорации Oracle Дэвидом А.Розенбергом в чрезвычайно комплиментарных словах. В.Абрамов: "Мы же все прекрасно понимаем, что, в отличие от нас, разработчиков, вице-президенты не разрабатывают программное обеспечение. Не стоит также близко к сердцу принимать уверения в том, что использование этой или какой-либо другой технологии когда-либо способно сократить время разработки серьезных больших приложений "с нескольких месяцев до двух недель" [Глава 1. "Знакомство с распределенными вычислительными системами"]. Весь мой прошлый опыт говорит о том, что с внедрением новых технологий для разработчика программного обеспечения меньше работы не становится."
С другой стороны, эта книга - один из лучших примеров того принципа, что недостатки часто являются продолжением достоинств. На наш взгляд, "Oracle 8i: Java-компонентное программирование..." не рассчитана на неподготовленного читателя.. Для понимания материала книги предварительное ознакомление с Oracle и Java очень и очень желательно. Это не беда, так как существует на русском языке, как прекрасная Java-литература [1 - 9], так и прекрасная Oracle-литература, о которой Вы могли узнать из наших предыдущих рецензий, регулярно публикуемых в нашем журнале "Oracle Magazine/Русское Издание". Также самостоятельно придется читателю раздобыть и JDeveloper (средство разработки Java-приложений корпорации Oracle).
Поэтому используйте рецензируемую книгу, чтобы научиться разрабатывать именно Java-приложения, системы больших масштабируемых эффективных Java-приложений на Oracle.
Чем более длинным становится список книг по какой-либо тематике, тем большая возникает необходимость в узкоспециализированной литературе, в книгах, так сказать следующего эшелона, сконцентрированных на своей проблематике, предполагающих в читателях активное использование общеметодологической литературы. "Oracle 8i: Java-компонентное программирование при помощи EJB, CORBA и JSP" - из разряда таких книг, и свое назначение она реализует.
Краткий перечень Java-литературы, упоминаемых в рецензии:

[ 1] Айвор Хортон "Java 2 JDK 1.3" В двух томах: том I: 512 стр., 2002 г. , том II: 512 стр, 2002
[ 2] Джошуа Блох "Java. Эффективное программирование" 240 стр., 2002 (Серия "Java из первых рук")
[ 3] Н.Кассем "Разработка бизнес-приложений с помощью Java 2" 400 стр., 2002 (Серия "Java из первых рук")
[ 4] Р.Орфали, Д.Харки "JAVA и CORBA в приложениях клиент/сервер" 736 стр., 2000
[ 5] Э. Р. Гарольд "JavaBeans" 352 стр., 1999
[ 6] Питер Вейнер "Языки программирования Java и JavaScript" 244 стр., 1998
[ 7] Брюс Эккель "Философия Java" С.Пб, "Питер", 880 стр., 2001
[ 8] Дэвид Флэнэген "Java in a nutshell" Киев, BHV, 720 стр., 1997
[ 9] Дж.Вебер. "Технология Java в подлиннике" С.Пб, BHV, 1104 стр., 1997 (Учебник. Практическое пособие. Справочник)
[10] "Oracle8i. Создание Web-приложений". М:, "ЛОРИ"

Содержание книги

Предисловие
Предисловие автора
1 Введение
2 Создание и уничтожение объектов
1 Рассмотрите возможность замены конструкторов
статическими методами генерации
2 Свойство синглтона обеспечивайте закрытым
конструктором
3 Отсутствие экземпляров обеспечивает закрытый
конструктор
4 Не создавайте дублирующих объектов
5 Уничтожайте устаревшие ссылки (на объекты)
6 Остерегайтесь методов finalize
3Методы, общие для всех объектов
7 Переопределяя метод equals, соблюдайте общие
соглашения
8 Переопределяя метод equals, всегда
переопределяйте hashCode
9 Всегда переопределяйте метод toString
10 Соблюдайте осторожность при
переопределении метода clone
11 Подумайте над реализацией интерфейса
Comparable
4Классы и интерфейсы
12Сводите к минимуму доступность классов
и членов
13 Предпочитайте постоянство,
14 Предпочитайте компоновку наследованию
15 Проектируйте и документируйте наследование
либо запрещайте его
16 Предпочитайте интерфейсы абстрактным
классам
17 Используйте интерфейсы только
для определения типов
18Предпочитайте статические классы-члены
нестатическим
5Замена конструкций на языке С
19 Заменяйте структуру классом
20 Заменяйте объединение иерархией классов
21 Заменяйте конструкцию enum классом
22 Указатель на функцию заменяйте классом
и интерфейсом
6Методы
23 Проверяйте достоверность параметров
24 При необходимости создавайте
резервные копии
25 Тщательно проектируйте сигнатуру метода
26 Перезагружая методы, соблюдайте
осторожность
27 Возвращайте массив нулевой длины, а не null
28 Для всех открытых элементов API
пишите doc-комментарии
7Общие вопросы программирования
29 Сводите к минимуму область видимости
локальных переменных
30 Изучите библиотеки и пользуйтесь ими
31 Если требуются точные ответы, избегайте
использования типов float и double
32 Не используйте строку там, где более уместен
иной тип
33 При конкатенации строк опасайтесь потери
производительности
34 Для ссылки на объект используйте
его интерфейс
35 Предпочитайте интерфейс отражению класса
36 Соблюдайте осторожность при использовании
машинно-зависимых методов
37 Соблюдайте осторожность при оптимизации
38 При выборе имен придерживайтесь
общепринятых соглашений
8Исключения
39Используйте исключения лишь в
исключительных
ситуациях
40 Применяйте обрабатываемые исключения для
восстановления, для программных ошибок
используйте исключения времени выполнения ...
41 Избегайте ненужных обрабатываемых
исключений
42 Предпочитайте стандартные исключения
43 Инициируйте исключения, соответствующие
абстракции
44 Для каждого метода документируйте
все инициируемые исключения
45 В описание исключения добавляйте
информацию о сбое
46 Добивайтесь атомарности методов
по отношению к сбоям
47Не игнорируйте исключений
9 Потоки
48 Синхронизируйте доступ потоков к совместно
используемым изменяемым данным
49 Избегайте избыточной синхронизации
50 Никогда не вызывайте метод wait вне цикла
51 Не попадайте в зависимость от планировщика
потоков
52 При работе с потоками документируйте
уровень безопасности
53 Избегайте группировки потоков
10 Сериализация
54Соблюдайте осторожность при реализации
интерфейса Serializable
55 Рассмотрите возможность использования
специализированной сериализованной формы
56 Метод readObject должен создаваться
с защитой
57При необходимости создавайте метод
readResolve
Литература


Об авторе


Отзывы

ничего устаревшего!  [ 3 August 2015]
Прочитал отзывы и, прямо скажем, удивился.
Кричащие про "устаревание" книги напомнили моих знакомых программистов стремящихся поставить самую последнюю версию JDK - при этом не знающих и половины возможностей версий предыдущих.

Как книга о базовых принципах языка может устареть? Джошуа же не описывает высокоуровневые API - он пишет о достоинствах и недостатках разных приемов программирования, а они устаревают очень медленно. Никто ведь не назовет усторевшим "Приемы ООП" от GoF - а они написаны еще раньше чем эта книга. Устаревшими можно назвать не более 2-3 статей - причем автор уже сам пишет что советы устареют если в языке появятся перечисления и статический импорт (и они появились в 1.5)
Еще одна польза от книги - проследить как развивались стандартные библиотеки Java - какие ошибки были дапущены в ее проектировании в первых версиях и какими новыми классами из=за этого библиотека дополнилась позднее.
Правда, расчитана книга на почти новичков - то есть тем кто только что освоил синтаксис но еще не начал серьезно кодить. Вот для них она может быть очень полезной. А тем кто уже освоил ООП реально полезными окажутся процентов 20. Лично мне пригодились главы про сериализацию и - самая первая статья про статические методы.
Если же вам нужна книга о нововведениях языка - есть прекрасная "Java. Новое поколение разработки". Хотя - что я говорю - кто-то и ее устаревшей назовет.
Объективно - книга на 4 - но ставлю 5 в противовес неадекватным двойкам.
это первое издание  [ 7 August 2014]
Да, это первое издание, оригинал которого еще аж с 2002 года сначала заказал, когда понял при получении -отказался покупать. будет второе издание - обязательно куплю себе, чтобы было в бумажном виде!
Java. Эффективное программирование  [27 August 2013]
Книга немнго устарела, уже давно вышло второе издание.
Это все еще первое издание?!  [14 August 2013]
Это все еще первое издание?!

Последние поступления в рубрике "Тематика определяется"



Коллекционное холодное оружие Западной Европы XVII - начала XIX вв. 

Издание посвящено уникальным образцам охотничьего и боевого холодного оружия из частных собраний европейских коллекционеров. Каждый экземпляр сопровождается экспертным описанием, оценкой степени его сохранности и подробными авторскими иллюстрациями....

Терапевтическая катастрофа. Мастера психотерапии рассказывают о самых провальных случаях 

Ни один психотерапевт не застрахован от ошибок в работе с клиентами, но мало кто готов открыто обсуждать собственные неудачи. Авторы книги решили наглядно показать, что просчеты и промахи - это не только неотъемлемая сторона профессии, но и повод вынести для себя ценные уроки....

Любовь к человеку с пограничным расстройством личности 

Люди с пограничным расстройством личности (ПРЛ) могут быть очень заботливыми, нежными, умными и веселыми - и при этом своим поведением отталкивать даже самых близких людей. Если у вас непростые отношения с человеком, который страдает от ПРЛ, то эта книга - для вас....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Блох Д., Java. Эффективное программирование в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.