Язык Java -теория и практика

проститутки спб , характеристики viagra

Java -практические советы

Что такое Java ? Это остров Ява в Малайском архипелаге, территория Индонезии. Это сорт кофе, который любят пить создатели Java (произносится "Джава", с ударением на первом слоге). А если серьезно, то ответить на этот вопрос трудно, потому что границы Java, и без того размытые, все время расширяются. Сначала Java (официальный день рождения технологии Java — 23 мая 1995 г.) предназначалась для программирования бытовых электронных устройств, таких как телефоны. Потом Java стала применяться для программирования браузеров — появились апплеты. Затем оказалось, что на Java можно создавать полноценные приложения. Их графические элементы стали оформлять в виде компонентов — появились JavaBeans, с которыми Java вошла в мир распределенных систем и промежуточного программного обеспечения, тесно связавшись с технологией CORBA. Остался один шаг до программирования серверов — этот шаг был сделан — появились сервлеты и EJB (Enterprise JavaBeans). Серверы должны взаимодействовать с базами данных — появились драйверы JDBC (Java DataBase Connection). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Java в свое ядро, например Oracle, Linux, MacOS X, AIX. Что еще не охвачено? Назовите, и через полгода услышите, что Java уже вовсю применяется и там. Из-за этой размытости самого понятия его описывают таким же размытым словом — технология.
Такое быстрое и широкое распространение технологии Java не в последнюю очередь связано с тем, что она использует новый, специально созданный язык программирования, который так и называется — язык Java. Этот язык создан на базе языков Smalltalk, Pascal, C++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Java становится языком обучения объектно-ориентированному программированию, так же, как язык Pascal был языком обучения структурному программированию. Недаром на Java уже написано огромное количество программ, библиотек классов, а собственный апплет не написал только уж совсем ленивый.

Введение
Для полноты картины следует сказать, что создавать приложения для технологии Java можно не только на языке Java, уже появились и другие языки, есть даже компиляторы с языков Pascal и C++, но лучше все-таки использовать язык Java; на нем все аспекты технологии излагаются проще и удобнее. Что такое Java
Выполнение Java-программы
Что такое JDK
Что такое JRE
Как установить JDK
Как использовать JDK
Интегрированные среды Java
Особая позиция Microsoft
Java в Internet
Литература no Java

Глава 1. Встроенные типы данных, операции над ними
Приступая к изучению нового языка, полезно поинтересоваться, какие исходные данные могут обрабатываться средствами этого языка, в каком виде их можно задавать, и какие стандартные средства обработки этих данных заложены в язык. Это довольно скучное занятие, поскольку в каждом развитом языке программирования множество типов данных и еще больше правил их использования. Однако несоблюдение этих правил приводит к появлению скрытых ошибок, обнаружить которые иногда бывает очень трудно.

Первая программа на Java
Комментарии
Константы
Целые
Действительные
Символы
Строки
Имена
Примитивные типы данных и операции
Логический тип
Логические операции
Целые типы
Операции над целыми типами
Арифметические операции
Приведение типов
Операции сравнения
Побитовые операции
Сдвиги
Вещественные типы
Операции присваивания
Условная операция
Выражения
Приоритет операций
Операторы
Блок
Операторы присваивания
Условный оператор
Операторы цикла
Оператор continue и метки
Оператор break
Оператор варианта
Массивы
Многомерные массивы
Заключение

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

Парадигмы программирования
Принципы объектно-ориентированного программирования
Абстракция
Иерархия
Ответственность
Модульность
Принцип KISS
Как описать класс и подкласс
Абстрактные методы и классы
Окончательные члены и классы
Класс Object
Конструкторы класса
Операция new
Статические члены класса
Класс Complex
Метод main()
Где видны переменные
Вложенные классы
Отношения "быть частью" и "являться"
Заключение

Глава 3. Пакеты и интерфейсы
В стандартную библиотеку Java API входят сотни классов. Каждый программист в ходе работы добавляет к ним десятки своих. Множество классов становится необозримым. Уже давно принять классы объединять в библиотеки. Но библиотеки классов, кроме стандартной, не являются частью языка.

Пакет и подпакет
Права доступа к членам класса
Размещение пакетов по файлам
Импорт классов и пакетов
Java-файлы
Интерфейсы
Design patterns
Заключение

Глава 4. Классы-оболочки
Java — полностью объектно-ориентированный язык. Это означает, что все, что только можно, в Java представлено объектами. Восемь примитивных типов нарушают это правило. Они оставлены в Java из-за многолетней привычки к числам и символам. Да и арифметические действия удобнее и быстрее производить с обычными числами, а не с объектами классов.

Числовые классы
Класс Boolean
Класс Character
Класс Biglnteger
Класс BigDecimal
Класс Class

Глава 5. Работа со строками
Зачем в язык введены два класса для хранения строк? В объектах класса string хранятся строки-константы неизменной длины и содержания, так сказать, отлитые в бронзе. Это значительно ускоряет обработку строк и позволяет экономить память, разделяя строку между объектами, использующими ее. Длину строк, хранящихся в объектах класса stringBuffer , можно менять, вставляя и добавляя строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку.

Класс String
Как создать строку
Сцепление строк
Манипуляции строками
Как узнать длину строки
Как выбрать символы из строки
Как выбрать подстроку
Как сравнить строки
Как найти символ в строке
Как найти подстроку
Как изменить регистр букв
Как заменить отдельный символ
Как убрать пробелы в начале и конце строки
Как преобразовать данные другого типа в строку
Класс String Buffer
Конструкторы
Как добавить подстроку
Как вставить подстроку
Как удалить подстроку
Как удалить символ
Как заменить подстроку
Как перевернуть строку
Синтаксический разбор строки
Класс StringTokenizer
Заключение

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

Класс Vector
Как создать вектор
Как добавить элемент в вектор
Как заменить элемент
Как узнать размер вектора
Как обратиться к элементу вектора
Как узнать, есть ли элемент в векторе
Как узнать индекс элемента
Как удалить элементы
Класс Stack
Класс Hashtable
Как создать таблицу
Как заполнить таблицу
Как получить значение по ключу
Как узнать наличие ключа или значения
Как получить все элементы таблицы
Как удалить элементы
Класс Properties
Интерфейс Collection
Интерфейс List
Интерфейс Set
Интерфейс SortedSet
Интерфейс Map
Вложенный интерфейс Map.Entry
Интерфейс SortedMap
Абстрактные классы-коллекции
Интерфейс Iterator
Интерфейс Listlterator
Классы, создающие списки
Двунаправленный список
Классы, создающие отображения
Упорядоченные отображения
Сравнение элементов коллекций
Классы, создающие множества
Упорядоченные множества
Действия с коллекциями
Методы класса Collections
Заключение

Глава 7. Классы-утилиты
В классе Arrays из пакета java.utii собрано множество методов для работы с массивами. Их можно разделить на четыре группы. Восемнадцать статических методов сортируют массивы с разными типами числовых элементов в порядке возрастания чисел или просто объекты в их естественном порядке.

Работа с массивами
Локальные установки
Работа с Датами и временем
Часовой пояс и летнее время
Класс Сalendar
Подкласс GregorianCalendar
Представление даты и времени
Получение случайных чисел
Копирование массивов
Взаимодействие с системой

Глава 8. Принципы построения графического интерфейса
В предыдущих главах мы писали программы, связанные с текстовым терминалом и запускающиеся из командной строки. Такие программы называются консольными приложениями. Они разрабатываются для выполнения на серверах, там, где не требуется интерактивная связь с пользователем. Программы, тесно взаимодействующие с пользователем, воспринимающие сигналы от клавиатуры и мыши, работают в графической среде. Каждое приложение, предназначенное для работы в графической среде, должно создать хотя бы одно окно, в котором будет происходить его работа, и зарегистрировать его в графической оболочке операционной системы, чтобы окно могло взаимодействовать с операционной системой и другими окнами: перекрываться, перемещаться, менять размеры, сворачиваться в ярлык.

Компонент и контейнер
Иерархия классов AWT
Заключение

Глава 9. Графические примитивы
При создании компонента, т. е. объекта класса Component, автоматически формируется его графический контекст (graphics context). В контексте размещается область рисования и вывода текста и изображений. Контекст содержит текущий и альтернативный цвет рисования и цвет фона — объекты класса color, текущий шрифт для вывода текста — объект класса Font.

Методы класса Graphics
Как задать цвет
Как нарисовать чертеж
Класс Polygon
Как вывести текст
Как установить шрифт
Как задать шрифт
Класс FontMetrics
Возможности Java 2D
Преобразование координат
Класс AffineTransform
Рисование фигур средствами Java 2D
Класс BasicStroke
Класс Genera/Path
Классы GradientPaint и TexUirePaint
Вывод текста средствами Java 2D
Методы улучшения визуализации
Заключение

Глава 10. Основные компоненты
Компонент всегда занимает прямоугольную область со сторонами, параллельными сторонам экрана и в каждый момент времени имеет определенные размеры, измеряемые в пикселах, которые можно узнать методом getsizeo, возвращающим объект класса Dimension, или целочисленными методами getHeighto и getwidtho, возвращающими высоту и ширину прямоугольника. Новый размер компонента можно установить из программы методами setSize(Dimension d) или setSize(int width, int height), если это допускает менеджер размещения контейнера, содержащего компонент.

Класс Component
Класс Cursor
Как создать свой курсор
События
Класс Container
События
Компонент Label
События
Компонент Button
События
Компонент Checkbox
События
Класс CheckboxGroup
Как создать группу радиокнопок
Компонент Choice
События
Компонент List
События
Компоненты для ввода текста
Класс TexlComponent
События
Компонент TextField
События
Компонент TextArea
События
Компонент Scrollbar
События
Контейнер Panel
Контейнер ScrollPane
Контейнер Window
События
Контейнер Frame
События
Контейнер Dialog
События
Контейнер FileDialog
События
Создание собственных компонентов
Компонент Canvas
Создание "легкого" компонента

Глава 11. Размещение компонентов
Наиболее просто поступает менеджер размещения FlowLayout. Он укладывает в контейнер один компонент за другим слева направо как кирпичи, переходя от верхних рядов к нижним. При изменении размера контейнера "кирпичи" перестраиваются, как показано на рис. 11.1. Компоненты поступают в том порядке, в каком они заданы в методах add ().

Менеджер FlowLayout
Менеджер BorderLayout
Менеджер GridLayout
Менеджер CardLayout
Менеджер GridBagLayout
Заключение

Глава 12. Обработка событий
Событие (event) в библиотеке AWT возникает при воздействии на компонент какими-нибудь манипуляциями мышью, при вводе с клавиатуры, при перемещении окна, изменении его размеров. Объект, в котором произошло событие, называется источником (source) события. Все события в AWT классифицированы. При возникновении события исполняющая система Java автоматически создает объект соответствующего событию класса. Этот объект не производит никаких действий, он только хранит все сведения о событии.

Событие ActionEvent
Обработка действий мыши
Классы-адаптеры
Обработка действий клавиатуры
Событие TextEvent
Обработка действий с окном
Событие ComponentEvent
Событие ContainerEvent
Событие FocusEvent
Событие ItemEvent
Событие AdjustmentEvenl
Несколько слушателей одного источника
Диспетчеризация событий
Создание собственного события

Глава 13. Создание меню
Всплывающее меню (popup menu) появляется обычно при нажатии или отпускании правой или средней кнопки мыши и является контекстным (context) меню. Его команды зависят от компонента, на котором была нажата кнопка мыши. В языке Java всплывающее меню — объект класса Рорирмепи. Этот класс расширяет класс Menu, следовательно, наследует все свойства меню и пункта меню Menultem. Всплывающее меню присоединяется не к строке меню типа MenuBar или к меню типа Menu в качестве подменю, а к определенному компоненту. Для этого в классе component есть метод add(PopupMenu menu).

Глава 14. Апплеты
Кроме приложений, язык Java позволяет создавать апплеты (applets). Это программы, работающие в среде другой программы — браузера. Апплеты не нуждаются в окне верхнего уровня — им служит окно браузера. Они не запускаются JVM — их загружает браузер, который сам запускает JVM для выполнения апплета. Эти особенности отражаются на написании программы апплета.

Передача параметров
Параметры тега <applet>
Сведения об окружении апплета
Изображение и звук
Слежение за процессом загрузки
Класс MediaTracker
Защита от апплета
Заключение

Глава 15. Изображения и звук
В библиотеке AWT применяются две модели обработки изображения. Одна модель реализует давно известную в программировании общую модель "поставщик-потребитель" (Producer-Consumer). Согласно этой модели один объект, "поставщик", генерирует сам или преобразует полученную из другого места продукцию, в данном случае, набор пикселов, и передает другим объектам. Эти объекты, "потребители", принимают продукцию и тоже преобразуют ее при необходимости. Только после этого создается объект класса image и изображение выводится на экран.

Модель обработки "поставщик-потребитель"
Классы-фильтры
Как выделить фрагмент изображения
Как изменить цвет изображения
Как переставить пикселы изображения
Модель обработки прямым доступом
Преобразование изображения в Java 2D
Аффинное преобразование изображения
Изменение интенсивности изображения
Изменение составляющих цвета
Создание различных эффектов
Анимация
Улучшение изображения двойной буферизацией
Звук
Проигрывание звука в Java 2
Синтез и запись звука в Java 2

Глава 16. Обработка исключительных ситуаций
Исключительные ситуации (exceptions) могут возникнуть во время выполнения (runtime) программы, прервав ее обычный ход. К ним относится деление на нуль, отсутствие загружаемого файла, отрицательный или вышедший за верхний предел индекс массива, переполнение выделенной памяти и масса других неприятностей, которые могут случиться в самый неподходящий момент.

Блоки перехвата исключения
Часть заголовка метода throws
Оператор throw
Иерархия классов-исключений
Порядок обработки исключений
Создание собственных исключений
Заключение

Глава 17. Подпроцессы
Основное понятие современных операционных систем — процесс (process). Как и все общие понятия, процесс трудно определить, да это и не входит в задачу книги. Можно понимать под процессом выполняющуюся (runnable) программу, но надо помнить о том, что у процесса есть несколько состояний. Процесс может в любой момент перейти к выполнению машинного кода другой программы, а также "заснуть" (sleep) на некоторое время, приостановив выполнение программы.

Класс Thread
Синхронизация подпроцессов
Согласование работы нескольких подпроцессов
Приоритеты подпроцессов
Подпроцессы-демоны
Группы подпроцессов
Заключение

Глава 18. Потоки ввода/вывода
Для того чтобы отвлечься от особенностей конкретных устройств ввода/вывода, в Java употребляется понятие потока (stream). Считается, что в программу идет входной поток (input stream) символов Unicode или просто байтов, воспринимаемый в программе методами read(). Из программы методами write о или print (), println() выводится выходной поток (output stream) символов или байтов. При этом неважно, куда направлен поток: на консоль, на принтер, в файл или в сеть, методы write () и print () ничего об этом не знают.

Консольный ввод/вывод
Файловый ввод/вывод
Получение свойств файла
Буферизованный ввод/вывод
Поток простых типов Java
Кодировка UTF-8
Прямой доступ к файлу
Каналы обмена информацией
Сериализация объектов
Печать в Java
Печать средствами Java 2D
Печать файла
Печать страниц с разными параметрами

Глава 19. Сетевые средства Java
Когда число компьютеров в учреждении переваливает за десяток и сотрудникам надоедает бегать с дискетами друг к другу для обмена файлами, тогда в компьютеры вставляются сетевые карты, протягиваются кабели и компьютеры объединяются в сеть. Сначала все компьютеры в сети равноправны, они делают одно и то же — это одноранговая (peer-to-peer) сеть. Потом покупается компьютер с большими и быстрыми жесткими дисками, и все файлы учреждения начинают храниться на данных дисках — этот компьютер становится файл-сервером, предоставляющим услуги хранения, поиска, архивирования файлов. Затем покупается дорогой и быстрый принтер.

Работа в WWW
Работа по протоколу TCP
Работа по протоколу UDP

Приложение. Развитие Java
В части 3 мы подробно рассмотрели возможности графической библиотеки AWT. Там же мы заметили, что в состав Java 2 SDK входит еще одна графическая библиотека, Swing, с более широкими возможностями, чем AWT. Фирма SUN настоятельно рекомендует использовать Swing, а не AWT, но, во-первых, Swing требует больше ресурсов, что существенно для российского разработчика, во-вторых, большинство браузеров не имеет в своем составе Swing. В-третьих, удобнее сначала познакомиться с библиотекой AWT, а уже потом изучать Swing.

Переход к Swing
Архиватор jar
Создание архива
Файл описания MAN1FEST.MF
Файл 1NDEX.LIST
Компоненты JavaBeans
Связь с базами данных через JDBC
Сервлеты
Java на сервере
Заключение
Статьи

Cамоучитель по Java

Как вы знаете, программа, написанная на одном из языков высокого уровня, к которым относится и язык Java, так называемый исходный модуль ("исходник" или "сырец" на жаргоне, от английского "source"), не может быть сразу же выполнена. Ее сначала надо откомпилировать, т. е. перевести в последовательность машинных команд — объектный модуль.
Но и он, как правило, не может быть сразу же выполнен: объектный модуль надо еще скомпоновать с библиотеками использованных в модуле функций и разрешить перекрестные ссылки между секциями объектного модуля, получив в результате загрузочный модуль — полностью готовую к выполнению программу.
Исходный модуль, написанный на Java, не может избежать этих процедур, но здесь проявляется главная особенность технологии Java — программа компилируется сразу в машинные команды, но не команды какого-то конкретного процессора, а в команды так называемой виртуальной машины Java (JVM, Java Virtual Machine).

Java в Internet
Логический тип
Принципы объектно-ориентированного программирования
Права доступа к членам класса
Числовые классы
Как найти подстроку
Класс Vector
Взаимодействие с системой
Иерархия классов AWT
Преобразование координат
Класс Cursor
Менеджер BorderLayout
Событие ItemEvent
Всплывающее меню
Параметры тега applet
Изменение составляющих цвета
Часть заголовка метода throws
Синхронизация подпроцессов
Печать в Java
Работа по протоколу TCP
Архиватор jar

Программирование на Java.Подробное руководство

В данном разделе представлены подробные материалы по языку Java и многочисленные примеры программирования на Java. Вы познакомитесь с принципами и технологиями, положенными в основу этого языка, изучите библиотеки классов Java, научитесь пользоваться современными визуальными средствами разработки приложений Java, такими как Java WorkShop и Java Studio.
Многочисленные примеры приложений и аплетов помогут вам в кратчайшие сроки освоиться в мире Java.

Введение в Java
Первое приложение Java
Первый аплет Java
Рисование в окне аплета
События
Компоненты в окне аплета
Работа с системой Layout Manager
Работа с панелями
Окна и диалоговые панели
Многопоточность
Работа с файлами
Создание сетевых приложений
Растровые изображения и анимация
Звук в аплетах Java

Подробное руководство по программированию на Java

Почему вам нужно изучать новый язык программирования Java?
Если ответить на этот вопрос кратко, то потому, что он специально ориентирован на самые передовые технологии, связанные с сетью Internet. Растущая популярность Internet и, в особенности, серверов Web, создает для программистов новые возможности для реализации своих способностей.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой X­Windows. Между тем, создавая сервер Web в сети Internet, вы бы наверняка хотели, чтобы им могло пользоваться как можно большее число людей. В этом случае вас выручат приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы.
Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.
К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ.
Вторая группа - это так называемые аплеты (applets). Аплеты представляют собой разновидность приложений Java, которые интерпретируются виртуальной машиной Java, встроенной практически во все современные браузеры.
Приложения, относящиеся к первой группе (мы будем называть их просто приложениями Java), - это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.
Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI.
Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету"- Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз.

Введение в Java
Первое приложение
Первый аплет
Рисование в окне аплета
События
Компоненты
Работа с системой Layout Manager
Работа с панелями
Окна и диалоговые панели
Многопоточность

Программирование на языке Java

Вообще опасно объявлять каждую новую технологию программирования революционной. Если вы поторопитесь подать свой голос за признание технологии, подобной той, которая реализована в языке Java, революционной — вас могут закидать тухлыми яйцами или занести в разряд пустозвонов, падких на модные новинки. Что же в таком случае делает тот или иной продукт революционным ? Он не может быть только лишь компактней, быстрее и дешевле. Такой продукт должен изменить весь стиль работы, радикально упростив решение сложных проблем.
Создание языка Java — это действительно один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Язык HTML (Hypertext Markup Language — язык разметки гипертекста) был необходим для статического размещения страниц во “Всемирной паутине” WWW (World Wide Web). Язык Java потребовался для качественного скачка в создании интерактивных продуктов для сети Internet.
Три ключевых элемента объединились в технологии языка Java и сделали ее в корне отличной от всего, существующего на сегодняшний день.

Революция по имени Java
Конструкторы
Меню

Спецификация Java Server Pages 1.2

Данная Спецификация защищена авторскими правами, и информация, приведённая здесь, может быть защищена одним или более патентами США, иностранными патентами или задействованными приложениями.
За исключением случаев, указанных в данной лицензии, никакая часть данной Спецификации не может воспроизводиться в любой форме и любым способом без наличия предварительного письменной авторизации Sun Microsystems, Inc. ("Sun") и её лицензоров, если имеются.
Любая часть данной Спецификации и описанной здесь информации управляется терминами и условиями данной лицензии и Export Control Guidelines, как установлено ранее в Terms of Use на сайте Sun.
Просматривая, загружая и копируя данную Спецификацию, Вы соглашаетесь с тем, что Вы прочли, поняли и согласны со всеми терминами и условиями, установленными здесь и далее.
Настоящим документом Sun предоставляет Вам лицензию на бесплатное, неисключительное пользование без права передачи (без права на сублицензию), с сохранением прав интеллектуальной собственности Sun, что является непременным условием использования данной Спецификации для внутренних целей дизайна и разработки Ваших Java-аплетов и приложений, предназначенных для работы на платформе Java, или для создания чисто рабочих реализаций данной Спецификации

Процессы Сообщества Java
Неявное Отображение Входов из Контейнера
Словарь

Программирование мобильных телефонов на Java

Рынок мобильных телефонов - это, пожалуй, самый быстроразвивающийся сегмент рынка. Несколько лет назад мобильный телефон был чем-то дорогим и недосягаемым. Оплата за связь была астрономической. Но времена меняются, связь подешевела, мобильные телефоны продаются на каждом углу и наличие телефона у человека можно уже сравнить с наличием обычных наручных часов.
Обилие разнообразных моделей телефонов создает на этом рынке большую конкуренцию. Множество производителей стараются включить в телефоны как можно больше различных функций. Присутствием в телефоне адресной книги, органайзера, будильника и даже счетчика калорий уже никого не удивишь, и в какой-то момент времени возник вопрос, а чем же еще можно оборудовать телефон? Самым идеальным решением этого вопроса могла стать возможность загрузки в телефон программ сторонних производителей. Не секрет, что основная масса телефонов работает на основе прошивки, поэтому загрузка программ в телефон не возможна. Чтобы такая возможность появилась, производителям надо было бы решить ряд сложных вопросов. Во-первых - это язык программирования, на котором будут писаться программы для телефонов и, соответственно,, поддержка этого языка самим телефоном. Второе - это аппаратная архитектура мобильных телефонов, которая сильно ограничена в своих системных ресурсах, а это процессор, память, графический интерфейс. Улучшение архитектуры неизменно ведет к увеличению стоимости телефона, поэтому идеальной в этом случае стала платформа Java 2 Micro Edition, созданная компанией Sun Microsystems.
Платформа Java 2 ME состоит из виртуальной Java машины, языка программирования Java и огромного количества библиотек, облегчающих работу программиста. Язык программирования Java работает на основе интерпретации, поэтому для работы программ написанных на этом языке необходима виртуальная Java машина, встроенная в устройство, на котором планируется запускать Java программы. Наличие виртуальной Java машины в мобильном телефоне означает, что производитель поддерживает технологию Java. В данный момент практически все производители имеют поддержку Java технологии, что позволяет писать любые программы на этом языке и загружать их в телефон.

Введение
Устройство мобильных телефонов
Платформа Java 2 Micro Edition
Средства разработки мобильных приложений
Телефонные эмуляторы
Механизм работы приложений Java 2 ME
Классы пользовательского интерфейса
Программирование графики
Техника создания игр
Мобильная мультимедиа-библиотека
Основы языка Java
Справочник по Java 2 Micro Edition
Заключение

Растровые изображения

Коренное для верстальщика отличие web-страницы от бумажной в том, что web-страница не имеет строго определенных размеров. Страница в окне браузера может прокручиваться вниз и вправо, что позволяет делать ее сколь угодно длинной или широкой. Кроме того, количество материала, помещающегося в окне, напрямую зависит от разрешения экрана, установленного у просматривающего. Такая "неопределенность" главного параметра страницы — ее формата — крайне непривычна для верстальщика и дизайнера бумажных изданий. Это и неудивительно, поскольку web-страница обладает своими, только ей присущими средствами выразительности, и ее дизайн вследствие этого очень отличается от книжного.
Несмотря на неопределенность формата web-страницы, все-таки существуют размеры, на которые следует ориентироваться. Ширина страницы не должна превышать ширину экрана компьютера пользователя. Если вы работаете с издательскими системами, наверняка установленный на вашем компьютере монитор имеет большую диагональ (17 или 21 дюйм), но далеко не все пользователи так "удачливы". Еще достаточно велик парк 14-дюймовых мониторов, на которых невозможно или неудобно устанавливать разрешение больше 800х600 пикселов. Это разрешение сейчас наиболее часто встречается, и ориентироваться лучше всего на него. Чтобы не заставлять вас переводить пикселы в сантиметры или дюймы, разработчики CorelXARA укомплектовали программу двумя шаблонами страниц 800х600 и 640х480 пикселов. Используя их, следует учитывать, что большинство пользователей предпочитают открывать окно браузера не на весь экран. Это дает возможность быстро переключаться между несколькими одновременно открытыми его копиями. В результате наиболее распространенный размер web-страницы — примерно 650х450 и 500х300 пикселов, на него и нужно ориентироваться.

CorelXARA для WWW
Трассировка точечного изображения

*