ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. Технологический цикл подготовки, трансляции, редактирования внешних связей, тестирования, отладки и выполнения Java-программ тот же, что и для других интерпретируемых языков программирования, но с одним существенным отличием - при редактировании внешних связей требуемые компоненты могут доставляться по сети. Важно отметить, однако, что Java-программы могут представать как бы в двух ипостасях - как самостоятельное приложение и как аплет, то есть совокупность объектов, выполняющихся в среде WWW-навигатора.

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

Приложение в качестве точки входа имеет метод public static void main String args Этот метод должен быть определен в том public-классе, который содержится в файле, выполняемом виртуальной Java-машиной. В параметр args передается массив строк - параметров командной строки. Пример программа, печатающая свои аргументы public class myTop public static void main String args int argc args.length for int i 0 i argc i System.out.println argc i Аплет выполняется в контексте навигатора и его жизненный цикл определяется следующими методами класса Applet public void init - вызывается навигатором при загрузке аплета public void start - вызывается навигатором при показе страницы public void stop - вызывается навигатором, когда тот уходит с Web-страницы 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 10, 10, Hello world! 6 7 Простейший аплет выглядит так. Метод paint строки 4-6 определяет, как аплет перерисовывает себя в тот момент, когда оконный менеджер посылает WWW-навигатору запрос на перерисовку.

Включение аплета в WWW-страницу производится следующим образом.

В языке HTML 2.0 предусмотрены специальные конструкции applet и PARAM . Первая из них задает имя загружаемого класса и размеры области в окне навигатора, выделяемой аплету.

Конструкция PARAM служит для передачи информации с WWW-страницы в ту среду, в которой будет выполняться аплет. applet code SimpleApplet.class width 200 height 100 PARAM NAME font VALUE TimesRoman PARAM NAME size VALUE 12 h3 Если вы видите этот текст, то ваш навигатор не поддерживает Java h3 applet Данный фрагмент содержит простой пример включения аплета в WWW-страницу.

Поскольку WWW-навигаторы игнорируют неизвестные конструкции, в навигаторе, не поддерживающем Java, будет виден текст Если вы видите этот текст, то ваш навигатор не поддерживает Java public void init String fontname getParameter name String fontSizestring getParameter size int theSize Int.parseInt fontSizeString Опросить значения, передаваемые с помощью конструкции PARAM , можно следующим образом.

JAVA-МАШИНА. Java-компилятор транслирует исходные тексты Java-программ в коды Java-машины. Вообще говоря, Java-машина является виртуальной в том смысле, что она не существует в виде реальных микросхем и других устройств, а представляет собой программный эмулятор, выполняющийся на какой-либо традиционной аппаратной платформе. Вероятно, уже в ближайшее время следует ожидать появления и все более широкого распространения и прямых аппаратных реализаций Java-машины.

Идея языковых процессоров не нова. Известны попытки внедрить так называемый P-код в качестве стандарта на результат работы Паскаль-компиляторов в свое время много писали о языке и машине Форт была выполнена аппаратная реализация рефал-машины, и список этот можно продолжать и продолжать. В контексте проекта Java спецификация виртуальной машины является частью комплекса мер, направленных на стандартизацию Java-среды и на обеспечение ее независимости от аппаратно-программной платформы.

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