В 30 томе “Библиотеки системного программиста”, который называется “Microsoft Visual J++. Создание приложений на языке Java. Часть 1” мы научили вас создавать аплеты Java и размещать их на страницах сервера Web. Была рассмотрена общая структура аплета, работа с контекстом отображения, органами управления, панелями, шрифтами и многое другое. Теперь настало время поговорить о более сложных и весьма полезных возможностях, которые открываются перед разработчиком приложений Java.
Прежде всего, это мультизадачность. Практически любая современная операционная система, такая как Microsoft Windows, IBM OS/2 или UNIX, работает в мультизадачном режиме. Во многих случаях мультизадачность в целом благоприятно сказывается на производительности системы, так как во время ожидания одних задач свою работу могут выполнять другие задачи, готовые для этого.
Например, если вы работаете в сети Internet, то можете одновременно подключиться к нескольким серверам FTP и Web, перекачивая сразу несколько файлов и загружая несколько документов HTML. При этом еще можно отправлять или получать электронную почту. Так как скорость поступления данных из сети Internet составляет в среднем 1 Кбайт в секунду, то даже при использовании модемного соединения общая скорость передачи данных в этом случае будет выше, чем при поочередной работе с серверами FTP, Web или с почтовым сервером. Пока один из серверов находится в состоянии ожидания, вы будете получать данные от другого сервера.
Такое увеличение средней скорости передачи данных возможно из-за того, что при использовании протокола TCP/IP через общий канал могут одновременно передаваться пакеты данных, предназначенные для различных адресатов.
Если вы создаете приложения Java, вам доступны удобные средства организации мультзадачности, в том числе средства синхронизации задач. Последнее необходимо для того чтобы параллельно работающие задачи корректно обращались с критическими ресурсами, требующими последовательного обращения.
Заметим, что если вы собираетесь заниматься анимацией в окнах аплетов, вам в любом случае придется создавать мультизадачные приложения Java. Использование мультизадачности - единственный путь выполнения в приложениях Java любых периодических процедур, таких, например, как покадровое отображение мультфильма или медленный сдвиг текста для создания эффекта “бегущая строка”.
Отдельная глава будет посвящена организации файлового ввода и вывода в приложениях Java. Хотя аплеты не имеют доступа к файлам, расположенным на дисках локального компьютера, самостоятельные приложения Java могут обращаться с файлами свободно. Аплеты также могут иметь доступ к файлам, расположенным в каталогах сервера Web.
Много внимания в нашей книге мы уделим организации сетевого взаимодействия аплетов. Язык программирования Java был разработан специально для создания сетевых приложений, поэтому не удивительно, что в состав его библиотеки классов входят мощные средства, предназначенные для работы в сети. Мы, в частности, рассмотрим применение интерфейса потоковых и датаграмных сокетов.
Вы сможете более полно реализовать возможности аплетов, если сумеете организовать взаимодействие аплетов и расширений сервера Web, таких как программы CGI или приложения ISAPI. В нашей книге вы найдете описание практических способов организации такого взаимодействия.
Традиционно работа с растровыми графическими изображениями в приложениях Microsoft Windows или IBM OS/2 вызывала у программистов трудности, связанные с необходимостью разбора заголовков файлов графических изображений, реализации палитры и так далее. Библиотека классов Java содержит очень удобные и простые в использовании средства, избавляющие программистов от кошмарной работы с графическими файлами на низком уровне. Это особенно важно, так как аплеты часто применяются именно для усиления графического оформления страниц серверов Web. В нашей книге мы рассмотрим основные приемы работы с графическими изображениями. Отдельный раздел будет посвящена созданию анимационных изображений.
Мы расскажем вам также и о том, как аплеты Java работают со звуковыми файлами. И хотя средства, предоставляемые библиотекой классов Java для, работы со звуком, нельзя назвать богатыми, вы все же сможете применить аплеты для озвучивания своих документов HTML.
В отдельной главе нами будут рассмотрены приемы организации взаимодействия между несколькими аплетами, расположенными в одном документе HTML.
Заключительная глава нашей книги посвящена созданию комбинированных приложений Java, которые могут работать и как самостоятельные приложения, и как аплеты, встроенные в документы HTML.
В работе над книгой нам помогал Максим Синев, который консультировал нас по различным вопросам.
Мы выражаем благодарность генеральному директору АО “ДиалогНаука” Антимонову Сергею Григорьевичу и его заместителю Лященко Юрию Павловичу за возможность размещения информации о наших книгах на сервере Web по адресу http://www.dials.ccas.ru/frolov, а также за возможность доступа к сети Internet через сервер АО “ДиалогНаука”.
Мы также благодарим корректора Кустова В. С. и сотрудников издательского отдела АО “Диалог-МИФИ” Голубева О. А., Голубева А. О., Дмитриеву Н. В., Виноградову Е. К., Кузьминову О. А.
Полную информацию о всех наших книгах серий “Библиотека системного программиста” и “Персональный компьютер. Шаг за шагом”, а также дискеты к книгам, статьи и другую информацию вы можете найти в сети Internet на серверах Web по следующим адресам:
http://www.glasnet.ru/~frolov http://www.dials.ccas.ru/frolov
Вы можете передать нам свои замечания и предложения по содержанию этой и других наших книг через электронную почту по адресам:
frolov@glas.apc.org frolov.alexandr@usa.net
Если электронная почта вам недоступна, присылайте ваши отзывы в АО “Диалог-МИФИ” по адресу:
115409, Москва, ул. Москворечье, 31, корп. 2,
тел. 324-43-77
Приносим свои извинения за то что не можем ответить на каждое письмо. Мы также не занимаемся продажей и рассылкой книг, дискет, рекламы, отдельных фрагментов наших книг и исходных текстов к книгам. По этим вопросам обращайтесь непосредственно в издательство “Диалог-МИФИ”.