Книга предназначена для опытных программистов, которые хотели бы овладеть профессиональными приемами программирования Java-приложений и аплетов: многопоточное программиро-
вание, коллекции, работа с сетями и базами данных, распределенное программирование, библиотеки Swing и AWT, технология JavaBeans, вопросы обеспечения безопасности и локализации приложений, использование платформно-зависимого кода и языка XML. Каждая глава посвящена описанию отдельной темы, они практически не связаны друг с другом, поэтому их можно читать в произвольном порядке.
Главы книги, в основном, не связаны друг с другом, поэтому их можно читать неза-
висимо и в любом порядке.
В главе 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", содержится дополнительный
материал о библиотеке Sxving, который не удалось полностью разместить в первом томе.
В ней рассматриваются сложные компоненты на основе иерархических древовидных
структур и таблиц. Затем приводятся основные сведения о панелях редактирования, а
также реализации многодокументного интерфейса средствами 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.)
вание, коллекции, работа с сетями и базами данных, распределенное программирование, библиотеки Swing и AWT, технология JavaBeans, вопросы обеспечения безопасности и локализации приложений, использование платформно-зависимого кода и языка XML. Каждая глава посвящена описанию отдельной темы, они практически не связаны друг с другом, поэтому их можно читать в произвольном порядке.
Главы книги, в основном, не связаны друг с другом, поэтому их можно читать неза-
висимо и в любом порядке.
В главе 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", содержится дополнительный
материал о библиотеке Sxving, который не удалось полностью разместить в первом томе.
В ней рассматриваются сложные компоненты на основе иерархических древовидных
структур и таблиц. Затем приводятся основные сведения о панелях редактирования, а
также реализации многодокументного интерфейса средствами 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.)