Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новинки компьютерных книг ->> Библиотека профессионала. Java 2. Том 2. Тонкости программирования


Информационный Канал Subscribe.Ru

Visit our site Visit our site

Библиотека профессионала. Java 2. Том 2. Тонкости программирования

Кей С. Хорстманн, Гари Корнелл

Библиотека профессионала. Java 2. Том 2. Тонкости программирования

Книга предназначена для опытных программистов, которые хотели бы овладеть профессиональными приемами программирования Java-приложений и аплетов: многопоточное программирование, коллекции, работа с сетями и базами данных, распределенное программирование, библиотеки Swing и AWT, технология JavaBeans, вопросы обеспечения безопасности и локализации приложений, использование платформно-зависимого кода и языка XML. Каждая глава посвящена описанию отдельной темы, они практически не связаны друг с другом, поэтому их можно читать в произвольном порядке. Описание всех важных концепций иллюстрируется надежными и практичными, а не примитивными или чрезмерно академичными примерами. Все они сопровождаются многочисленными полезными и уместными комментариями. Как сказал Гради Буч (Grady Booch), авторы "уделили большое внимание деталям этого мощного и выразительного языка без ущерба для концептуальной модели объектно-ориентированного программирования".


Введение | Библиография | Материалы к книге Загрузить дополнительные материалы к книге

страниц 1120, с ил.; формат 70x100/16; 2002, 3 кв.; ISBN 5-8459-0345-9;
Вильямс.


Предисловие

Эта книга уже выдержала пять изданий. Первое издание данной книги появилось в одном томе в 1996 году. Однако, уже в третьем издании книги (с описанием пакета JDK 1.1) стало очевидно, что теперь невозможно ограничиться лишь одним томом при описании компонентов платформы Java™, которые представляют особый интерес для опытных программистов. Поэтому в дальнейшем весь материал настоящей книги размещался в двух томах. В этом издании описываются версии 1.3 и 1.4 стандартного набора инструментов разработки Java 2 Standard Edition Software Development Kit.

Том I содержит описание основ языка, а том II описание более сложных вопросов профессионального программирования. Таким образом, данная книга и все ее предыдущие издания предназначены для тех программистов, которые хотят использовать технологию Java для создания реальных проектов.

Опытным программистам, которым знакомы новая модель обработки событий и более сложные понятия, например, внутренние классы, можно пропустить первый том и приступать к изучению второго. (В томе II содержится большое количество ссылок на том I, и авторы надеются, что читатели приобретут оба тома. Дело в том, что все базовые материалы, необходимые для понимания материала тома II, можно найти только в очень подробных вводных руководствах по платформе Java.)

При создании этой книги неизбежно могли возникнуть ошибки и опечатки. Авторы будут признательны читателям за любую информацию о найденных ошибках и опечатках. Все найденные ошибки, опечатки, а также ответы на часто возникающие вопросы собраны и перечислены на Web-странице книги по адресу http://www.horstmann.com/corejava.html. В конце Web-страницы (чтобы стимулировать у читателей желание ознакомиться с найденными ранее ошибками и опечатками) приводится форма отчета, которую следует использовать для подачи информации о найденной ошибке или опечатке. Авторы и издатели этой книги внимательно изучают все присланные отчеты о найденных ошибках или опечатках, но, к сожалению, не имеют возможности ответить на все присланные замечания.

Об этой книге

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

В главе 1, "Многопоточность", рассматривается механизм многопоточности, который позволяет программировать параллельное выполнение разных задач. (Потоком (thread) называется отдельный сегмент управления в программе.) В ней описываются способы создания устойчиво работающих потоков. Все теоретические сведения иллюстрируются практическими примерами создания таймеров и анимационных изображений.

В главе 2, "Коллекции", описываются коллекции, используемые в платформе Java 2. Коллекции гораздо удобнее при работе с наборами нескольких объектов, чем объекты-векторы. В этой главе подробно рассматриваются некоторые наиболее полезные стандартные коллекции.

В главе 3, "Работа с сетями", описывается один из наиболее важных API-интерфейсов платформы Java, который предназначен для работы с сетями. Он позволяет с феноменальной скоростью создавать сложные сетевые приложения. При этом особое внимание уделяется описанию важных особенностей модели обеспечения безопасности работы аплетов при сетевом программировании.

В главе 4, "Работа с базами данных - интерфейс JDBC", описывается JDBC™- Java API-интерфейс для работы с базами данных. В ней приводятся несколько полезных примеров работы с базами данных на основе основных API-функций JDBC. Учтите, что это далеко не полное описание всех возможностей JDBC, потому что для всестороннего рассмотрения JDBC™потребуется написать отдельную книгу.

В главе 5, "Работа с удаленными объектами", рассматриваются удаленные объекты и технология удаленных вызовов (Remote Method Invocation - RMI). Этот API-интерфейс позволяет работать с Java-объектами, которые могут располагаться на разных компьютерах. Здесь показаны практические способы использования идеологии распределенных объектов.

В главе 6, "Более сложные компоненты пакета Swing", содержится дополнительный материал о библиотеке Swing, который не удалось полностью разместить в первом томе. В ней рассматриваются сложные компоненты на основе иерархических древовидных структур и таблиц. Затем приводятся основные сведения о панелях редактирования, а также реализации многодокументного интерфейса средствами Java. Основное внимание в этой главе сконцентрировано на практических примерах использования библиотеки Swing, а не на полноте описания всех компонентов библиотеки Swing и их особенностей. Дело в том, что для полного описания этой библиотеки потребуется несколько томов, которые будут интересны только очень узкому кругу профессионалов.

В главе 7, "Расширенные возможности AWT", рассматривается 2D API-интерфейс, который позволяет создавать реалистичные изображения. В ней также описаны некоторые сложные компоненты пакета AWT (Abstract Window Toolkit), которые не вошли в том I. Эти компоненты включают инструменты печати, копирования и вставки, перетаскивания объектов и многое другое. В данном издании книги также уделяется внимание усовершенствованным методам печати, которые предусмотрены в SDK 1.4.

В главе 8, "Технология JavaBeans™", описывается API-интерфейс для работы с компонентами платформы Java - JavaBeans™. В ней рассматриваются способы создания компонентов, которые могут использоваться другими разработчиками в интегрированных средах разработки приложений. (Однако, здесь не рассматриваются какие-то конкретные интегрированные среды разработки приложений, в которых могут использоваться компоненты JavaBeans.) Возможность использования компонентов JavaBeans является чрезвычайно важным достижением развития технологии Java, которое может значительно упростить создание и использование пользовательских интерфейсов. Его можно сравнить с успехом технологии ActiveX среди миллионов программистов на языке VisualBasic. Однако, из-за того, что компоненты JavaBeans созданы на языке Java, они обладают преимуществом по сравнению с компонентами ActiveX, так как могут использоваться на многих типах платформ.

В главе 9, "Безопасность", речь идет о модели обеспечения безопасности Java. Безопасность была основным фактором, с учетом которого разрабатывался этот язык, и в данной главе рассмотрены основные детали этой модели обеспечения безопасности. На практических примерах показаны способы создания собственных загрузчиков классов и менеджеров обеспечения безопасности для специальных приложений. Кроме того, рассмотрены новые инструменты для работы с подписанными классами.

В главе 10, "Локализация", описываются инструменты локализации Javaприложений, которые считаются одними из наиболее важных и перспективных элементов платформы Java. Дело в том, что Java является одним из немногих языков программирования, в котором используется Unicode. Однако, предусмотренные в Java инструменты локализации позволяют использовать приложения не только на разных платформах, но и в разных странах с разными региональными стандартами. На примере приложения-калькулятора пенсионного плана представлен простой способ создания приложения с возможностью выбора интерфейса для английских, немецких или китайских пользователей в зависимости от используемого в системе регионального стандарта.

В главе 11, "Встраиваемые методы", рассматриваются встроенные методы, которые позволяют создавать методы для специальной платформы, например, для Microsoft Windows API. Очевидно, что использование этих методов исключает возможность их применения для всех остальных платформ. Тем не менее, профессиональным программистам следует знать об этой функциональной возможности, потому при создании серьезных приложений часто возникает необходимость использования API-функций операционной системы, например, для доступа к реестру Windows.

В главе 12, "Язык XML", которая появилась только в этом издании книги, рассматривается язык расширенной гипертекстовой разметки XML (eXtensible Markup Language), который используется для обмена данными в неоднородных средах, для более сложной структурированности файлов конфигурации и т.д. Начиная с SDK 1.4, поддержка языка XML встроена в стандартную библиотеку Java и может использоваться в любом приложении. После изучения этой главы читатель сможет сам убедиться в том, насколько просто можно преобразовать разнообразные форматы данных в профессиональные XML-документы. (Для использования XML с прежними версиями SDK нужно использовать библиотеку-расширение JAXP фирмы Sun.)

Платформа Java содержит огромную библиотеку функций, которые образуют интерфейс прикладного программирования (Application Programming Interface - API). После каждого упоминания такой API-функции в конце раздела приводится ее краткое описание, которое обозначается такой пиктограммой. Эти описания менее официальны, но более информативны, чем те, которые приводятся в интерактивной документации API-интерфейса Java.

Коды всех примеров можно найти на Web-узле издательского дома "Вильямс" по адресу: www.williamspublishing.com.

Благодарности

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

Редактор издательства Prentice Hall PTR Грег Денч (Greg Doench) выполнил огромный объем работы по координации всех аспектов этого сложного проекта. Джули Бетис (Julie Bettis) тщательно проверила всю рукопись и ее соответствие строгим правилам использования торговой марки Java.

Кэти Бести (Kathi Beste), Берт Штуц (Bert Stutz) и Мэрилин Штуц (Marilyn Stutz) из компании Navta Associates, Inc. создали очень привлекательный макет этой книги. Многие другие специалисты издательства Prentice Hall PTR и издательства Sun Microsystems Press также оказали неоценимую помощь, но остались за кулисами всего процесса подготовки настоящей книги. Я хотел бы выразить им свою искреннюю благодарность за оказанную помощь. Отдельное спасибо соавтору прежних изданий этой книги, Гари Корнеллу (Gary Cornell), который теперь принимает участие в других проектах.

Я очень благодарен прекрасной команде рецензентов, которым удалось найти множество ошибок и предложить удачные способы их устранения. Весь новый материал был проверен и отрецензирован Дэвидом Гири (David Geary), Бобом Линчем (Bob Lynch), Полом Филионом (Paul Philion) и Джорджем Тируватукалом (George Thiruvathukal).

Рецензентами предыдущих изданий были Алик Битон (Alec Beaton) из компании PointBase, Inc., Джошуа Блох (Joshua Bloch) из компании Sun Microsystems, Дэвид Браун (David Brown) и доктор Николас Джю Де Лилло (Nicolas J. De Lillo) из Манхэттенского колледжа (Manhattan College), Ракеш Дхупар (Rakesh Dhoopar) из компании Oracle, Анжела Гордон (Angela Gordon) из компании Sun Microsystems, Дэн Гордон (Dan Gordon) из компании Sun Microsystems, Роб Гордон (Rob Gordon) и Камерон Грегори (Cameron Gregory) из компании olabs.com, Марти Холл (Marty Hall) из лаборатории прикладной физики Университета Джона Хопкинса (The John Hopkins University), Винсент Харди (Vincent Hardy) из компании Sun Microsystems, Владимир Иванович (Vladimir Ivanovich) из компании PointBase, Inc., Джери Джексон (Jerry Jackson) из компании ChannelPoint Software, Тим Киммет (Tim Kimmet) из компании Preview Systems, Крис Лафра (Chris Laffra) и Чарли Лай (Charlie Lai) из компании Sun Microsystems, Даг Лангстон (Doug Langston) и Даг Ли (Doug Lea) из комп

И самое главное, я хотел бы выразить свою любовь и благодарности жене Хуи-Чен и детям Томми и Нине за их постоянную поддержку этого бесконечного проекта.

Кей Хорстманн

Купертино, ноябрь 2001 года


Каталог книг | Расширенный поиск | Об издательстве
Контакт | Подписка на новости
Издательская группа "Диалектика-Вильямс"



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное