| Не очень понятно про оболочечные Данные,ячейки памяти могут наверно размер менять,какое это значение те же операции только ячейки больше,по скорости тоже самое | 
Введение в сетевое программирование
10.2. Апплеты
Напомним некоторые вещи, о которых рассказывалось в "Общие представления о языке Java" . Апплет – это специализированная программа Java с ограниченными возможностями, работающая в окне WWW-документа под управлением браузера. Как правило, апплеты встраивают в HTML-документы (наиболее распространенный вид WWW-документов).
Между приложениями (applications) и апплетами (applets) Java имеется принципиальное различие: приложение запускается непосредственно с компьютера пользователя и имеет доступ ко всем ресурсам компьютера наравне с любыми другими программами. Апплет же загружается из WWW с постороннего сервера, причем из-за самой идеологии WWW сайт, с которого загружен апплет, в общем случае не может быть признан надежным. А вот сам апплет имеет возможность передавать данные на любой сервер в WWW – все зависит от алгоритма, заложенного создателем апплета. Поэтому для того, чтобы избежать риска утечки конфиденциальной информации с компьютера пользователя или совершения враждебных действий, у апплетов убраны многие возможности, имеющиеся у приложений.
Поддержка работы с апплетами осуществляется стандартной библиотекой классов ( core library ), расположенной в пакете java.applet для обычных апплетов, а также классом javax.swing.JApplet для апплетов, использующих компоненты Swing и/или библиотеку Sun JFC (Java Foundation Classes).
Для создания обычного апплета требуется задать класс, являющийся наследником класса java.applet.Applet, который сам является наследником класса java.awt.Panel.
В классе апплета требуется переопределить ряд методов:
public class Applet1 extends java.applet.Applet{
    public void init(){
     //Инициализация перед началом работы.
     //Вызывается один раз после загрузки апплета
     //перед первым выполнением метода start()
    }
    
    public void start(){
     //Обеспечивает основную функциональность аплета.
     //В первый раз вызывается после загрузки апплета
     //и его инициализации методом init().
     //Затем вызывается каждый раз при заходе пользователя
     //на HTML-страницу с апплетом.
    }
    
    public void update(java.awt.Graphics g){
     //Форсирование перерисовки апплета с выполнением кода метода
    }
    
    public void paint(java.awt.Graphics g){
     //Исполняется каждый раз при перерисовке апплета.
     //Обеспечивает всю визуализацию в апплете
    }
    
    public String getAppletInfo(){
        return "Справочная информация об апплете";
    }
    
    public void stop(){
     //Приостанавливает выполнение апплета.
     //Исполняется каждый раз сразу после того, когда пользователь
     //покидает HTML-страницу с апплетом.
    }
    
    public void destroy(){
     //Обычно не требует переопределения.
     //Предназначен для высвобождения ресурсов, захваченных апплетами.
     //Исполняется через негарантированный промежуток времени
     //каждый раз после вызова метода stop()
     //перед разрушением объекта апплета сборщиком мусора.
    }
}Кроме методов, нуждающихся в переопределении, в классе Applet имеется некоторое количество методов, позволяющих проверять и задавать его состояние во время выполнения:
- getSize() – возвращает размер апплета. Ширину и высоту можно получить как getSize().width и getSize().height
- showStatus(String s) – показ в строке статуса браузера сообщения s.
- AppletContext getAppletContext() – получение апплетом информации об документе, из которого был вызван апплет, а также о других апплетах того же документа.
- add(Component comp) – добавление компонента в апплет.
- AudioClip getAudioClip(URL url) - получение апплетом аудиоклипа по заданному WWW-адресу url. Создается объект Java, ссылающийся на данный аудиоклип.
- URL getDocumentBase() - получение апплетом адреса WWW-документа, из которого был вызван апплет.
Имеется большое количество других методов для работы с апплетами, большинство которых унаследовано от класса Panel.
Ряд примеров апплетов с исходными кодами приведен в JDK в папке demo/applets.
import java.awt.*;
public class Applet1 extends java.applet.Applet{
   public void paint(java.awt.Graphics g){
    g.setColor(Color.green);
    g.fillRect(0,0,getSize().width - 1, getSize().height - 1);
    g.setColor(Color.black);
    g.drawString("Вас приветствует апплет!",20,20);
    this.showStatus("Это пример апплета");
   }
}Пример HTML-документа, в который встроен апплет:
<html> <body> Это пример апплета<p> <object codebase="." code="Applet1.class" width=200 height=150 >
Альтернативный текст, который будет виден в браузерах, не поддерживающих работу с апплетами </object>
Если данный HTML-документ имеет имя example.html, то для запуска апплета следует расположить файл Applet1.class в той же папке, что и example.html. После чего открыть в браузере файл example.html. Обычно проще всего это сделать двойным щелчком мыши по имени файла в окне навигации по файлам и папкам.
Если в открывшемся окне браузера апплет не будет показан, его можно просмотреть в программе appletviewer. Для этого надо перейти в папку с файлами example.html и Applet1.class, и запустить appletviewer с параметром example.html. Например, для Windows® в командной строке надо набрать
appletviewer.exe example.html
Замечание: на домашнем компьютере с Windows XP SP1 и браузером MS Internet Explorer 6.0 автору не удалось запустить ни одного апплета, в том числе из примеров JDK. Хотя поддержка Java была включена, и автор пытался менять самые разные установки системы. Но в appletviewer все работало. Это является хорошей иллюстрацией того, почему крупные фирмы предпочитают при работе в сетях использовать не апплеты, а заниматься обработкой со стороны сервера и отсылать результаты на компьютер клиента в готовом виде. Ведь у клиентов, работающих в WWW, могут быть компьютеры с различными версиями JDK, операционными системами и браузерами. И гарантировать работоспособность одного и того же апплета в таком разнообразном окружении практически невозможно. Если же обработка идет со стороны сервера, все упрощается. Со стороны клиента нужен только браузер, работающий со ставшими совершенно стандартными языками HTML и JavaScript (после версии HTML 4.01 и JavaScript 1.3 они перестали изменяться). Браузер передает запрос с клиентского компьютера на сервер, и там формируется новый HTML-документ для клиентского компьютера, при необходимости – со сформированными на сервере графическими файлами.
Такая идеология позволяет при необходимости усовершенствовать систему незаметно для пользователей и с сохранением полной совместимости. Например, новая версия JVM устанавливается на сервере, и проводятся все необходимые настройки и тестирования. После чего вместо старой версии системы наружу показывается новая.
 
                             
