Java как центр архипелага - [9]
public void destroy (); этот метод предназначен для освобожденя
ресурсов; аналог деструктора, но не вызывается автоматически; всегда
вызывает stop(); всегда вызывается при выходе из навигатора и при
перезагрузке аплета.
Простейший аплет выглядит так:
1 import java.awt.Graphics;
2 import java.applet.Applet;
3 class SimpleApplet extends Applet {
4 public void paint (Graphics g) {
5 g.drawString ("Hello world!", 10, 10);
6 }
7 }
Метод public void paint (Graphics g) (строки 4-6) определяет,
как аплет перерисовывает себя в тот момент, когда оконный ме-
неджер посылает WWW-навигатору запрос на перерисовку.
Включение аплета в WWW-страницу производится следующим образом.
В языке HTML 2.0 предусмотрены специальные конструкции
и
меры области в окне навигатора, выделяемой аплету. Конструкция
ду, в которой будет выполняться аплет.
Ниже приведен простой пример вкллючения аплета в WWW-страницу.
Если вы видите этот текст, то ваш навигатор не поддерживает Java
Поскольку WWW-навигаторы игнорируют неизвестные конструкции, в
навигаторе, не поддерживающем Java, будет виден текст
--------------------------------------------------------------------------
Если вы видите этот текст, то ваш навигатор не поддерживает Java
--------------------------------------------------------------------------
Опросить значения, передаваемые с помощью конструкции
следующим образом:
public void init () {
String fontname = getParameter ("name");
String fontSizestring = getParameter ("size");
int theSize = Int.parseInt (fontSizeString);
. . .
}
4.2.2. Java-машина
Java-компилятор переводит транслирует исходные тексты Java-
программ в коды Java-машины. Вообще говоря, Java-машина являет-
ся виртуальной в том смысле, что она не существует в виде ре-
альных микросхем и других устройств, а представляет собой прог-
раммный эмулятор, выполняющийся на какой-либо традиционной ап-
паратной платформе. Вероятно, уже в ближайшее время следует
ожидать появления и все более широкого распространения и прямых
аппаратных реализаций Java-машины.
Идея языковых процессоров, разумеется, не нова. Известны попыт-
ки внедрить так называемый P-код в качестве стандарта на ре-
зультат работы Паскаль-компиляторов; в свое время много писали
о языке и машине Форт; была выполнена аппаратная реализация ре-
фал-машины, и список этот можно продолжать и продолжать.
В контексте проекта Java спецификация виртуальной машины явля-
ется частью комплекса мер, направленных на стандартизацию Java-
среды и на обеспечение ее независимости от аппаратно-программ-
ной платформы. Кроме того, следует учитывать ту специфическую
среду, в которой должны готовиться и работать Java-программы.
Если Web-страница содержит Java-аплеты, эти аплеты будут пере-
даваться по сети. Значит, весьма желательно, чтобы Java-код был
как можно более компактным; в противном случае время загрузки
страницы рискует стать раздражающе большим. Соответственно, ар-
хитектура и система команд Java-машины проектировались таким
образом, чтобы всячески способствовать компактификации кода. С
другой стороны, формат команд Java-машины довольно прост (обыч-
но команды не имеют операндов и занимают один байт), поэтому
возможна ее (машины) эффективная эмуляция. По этой причине
программы, подготовленные для выполнения на Java-машине, часто
называют байт-кодами.
Мы опишем архитектуру Java-машины довольно кратко. Последующее
изложение опирается на версию спецификаций 1.0.
4.2.2.1. Типы данных, поддерживаемые Java-машиной
Java-машина поддерживает следующие стандартные типы данных:
- byte - однобайтные целые цисла в двоичном дополнительном коде;
- short - двухбайтные целые числа;
- int - четырехбайтные целые числа;
- long - восьмибайтные целые числа;
- float - четырехбайтные вещественные числа в формате IEEE-754;
- double - восьмибайтные вещественные числа;
- char - двухбайтные беззнаковые символы в кодировке Unicode.
Поскольку Java-компилятор в состоянии проверить типы данных во
время трансляции, при выполнении нет нужды ассоциировать допол-
нительную информацию со значениями стандартных типов. Вместо
этого генерируются команды, рассчитанные на обработку данных
определенных типов. Например, для сложения целых чисел будет
сгенерирована команда iadd, а для сложения вещественных чисел
двойной точности - команда dadd.
Значения типа boolean представляются однобайтными целыми числа-
ми и обрабатываются посредством соответствующих команд.
Имеется еще два стандартных типа данных:
- object - четырехбайтная ссылка на об®ект (массивы трактуются
как об®екты);
- returnAddress - четырехбайтный адрес возврата из метода.
Спецификации Java-машины не описывают внутренней структуры об-
®ектов. В реализации Sun Microsystems значение типа object ука-
Автор книги — американский специалист по программированию, один из руководителей фирмы IBM, в своей книге делает попытку изложить общие проблемы создания программного обеспечения, его сопровождения и использования. Особенно подробно рассматриваются все фазы разработки программ разных типов. Изложение ясное, удачно иллюстрировано примерами.Для программистов разной квалификации и пользователей ЭВМ.fb2: ВНИМАНИЕ. В тексте присутствуют таблицы. Рекомендуется читать файл с помощью программы, поддерживающей их отображение.
Linux Kernel Module Programming Guide свободная книга; Вы можете воспроизводить и/или изменять ее в соответствии с версией 2 (или, в вашем случае, любой более поздней версией) GNU General Public License, опубликованной Free Software Foundation. Версия 2 поставляется с этим документом в Приложении E.Эта книга распространяется в надежде, что будет полезна, но без какой-либо гарантии; даже без подразумеваемой гарантии высокого спроса или пригодности какой-либо для специфической цели.Автор поощряет широкое распространение этой книги для персонального или коммерческого использования, если вышеупомянутое примечание относительно авторского права остается неповрежденным, и распространитель твердо придерживается условий GNU General Public License (см.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.