
- •Оглавление
- •Java-технологии распределенных компьютерных систем
- •Инструментальные средства java для создания распределенных систем
- •Первая java-программа
- •Интерфейсы
- •Наследование
- •Import имя_пакета.*;
- •Ссылки this и super
- •Исключения
- •Массивы
- •Виртуальная машина java (jvm)
- •Распределенные компьютерные системы и их характеристики
- •Промежуточное программное обеспечение распределенных компьютерных систем
- •Архитектура java rmi
- •Достоинства и недостатки java-rmi
- •Технология corba
- •Достоинства и недостатки corba
- •Структура распределенного j2ee java-приложения
- •Hello World распределенное j2ee java-приложение Средства разработки
- •Структура
- •Код локального интерфейса
- •Html. Основные теги html.
- •Основные теги html
- •Формы html-документов
- •Cgi. Java web-сервер
- •Сервлет-технология java
- •Компоненты ejb
- •Страницы jsp
- •Теги и встроенные объекты jsp
- •Основные теги jsp-страниц.
- •Архитектуры распределенных приложений. Web-сервисы
- •Jms. Архитектура jms
Исключения
Исключения в java представляют собой механизм взаимодействия между кодом находящей ошибку программ и кодом обрабатывающим ошибку. Механизм обработки исключения javaимеет 5 ключевых слов: try, catch, throw, throws, finally. Программа пытается (try) выполнить блок-коды. Если при этом возникает ошибка то системы возбуждают throw-исключения. В зависимости от типа исключения оно перехватывается catch и передается обработчику по умолчанию. Общая схема обработки исключений следующее:
try{//блок кода
}
catch(тип исключения е1)
{//обработчик исключения е1
}
… … … … … … … … … … … … … …
catch(тип исключения еN)
//обработчик исключения eN
throw(e1);//повторное возбуждение исключения е1
… … … … … … … … … … … … … …
throw(eN);//повторное возбуждение исключения еN
finally{
//обработчик по умолчанию
}
В том случае когда требуется обработать внештатную ситуацию любого типа следует использовать имя тип_исключения Exception.
public class E{
public static void main(String[]args){
try{int a=0;int result;
result=10/a;
System.out.println(“10/a=”+result);
}
catch(Exception e)
{System.out.println(e);}
}
>java E
>java.lang.ArifmeticException:/by zero
Для возбуждения исключений вручную принудительно используют ключевые слова throw, throws.
throw – одного исключения, throws – списка исключений.
Массивы
Массивом java называют упорядоченный набор элементов. В качестве элемента массива могут выступать как данные примитивных типов так и экземпляры класса. Одномерный массив объявляется и создается с помощью выражений:
тип_элементов[]Имя_массива=new тип элементов[размер массива];
или (эквивалентно):
тип_элементов Имя_массива [] =new тип элементов[размер массива];
Двумерный массив объявляется и создается с помощью выражений:
тип_элементов[][]Имя_массива=new тип элементов[размер массива][размер массива2];
или (эквивалентно):
тип_элементовИмя_массива [][]=new тип элементов[размер массива][размер массива2];
Доступ к элементам массива имеет вид:
Имя_массива[индекс];// для одномерного
Имя_массива[индекс1][индекс2];// для двумерного
Объявлять и создавать массив можно раздельно:
Например:
int b[];
b=new int[5];
Пример использования массива:
class ArrowDemo
{public static void main(string[]args){
int []a=new int[2]
int b[][]=new[2][2];
for (int i=0,i<2;i++)
{a[i]=i;
for(int j=0;j<2:j++)
b[i][j]=j
}
for(int ii=0;ii<2;ii++)
{System.out.println(“a[”+ii+”]=”+a[ii”]);
for(int jj=0;jj<2;j++)
System.out.println(“b[”+ii+“][“+jj+”]=”+b[ii][jj];
}}}
>java ArrayDemo
a[0]=0
b[0][0]=0
b[0][1]=1
a[1]=1
b[1][0]=0
b[1][1]=1
Виртуальная машина java (jvm)
В отличии от других языков высокого уровня исходный код на языке JAVA компилируется не в объектный код, а сразу в машинные команды. Однако это команды не конкретной машины, а команды так называемой виртуальной машины JAVA - JVM (Java Virtual Machine). Команды JVM короткие, как правило в 1 байт, поэтому команды JVM называются байт-кодом. Таких команд 226. Упрощенно JVM можно представить в виде:
Гость |
Прикладной процесс |
|
Среда исполнения |
ПО виртуализации |
JVM
|
Хост |
ОС | |
Оборудование |
Процесс выполняющийся на JVM – гость. Базовая платформа поддерживающая JVM-хост. Среда исполнения – эмулирует команды пользовательской программы.
Эмулировать двоичный код с системой команд отличных от системы хоста непростая задача.
Проще эмулировать эти команды путем интерпретации. Так в Java программа-интерпретатор выбирает из памяти одну за другой команды пользовательской программы и выполняет их.
Этот процесс может быть долгим. Для его ускорения применяются различные приемы и оптимизация.
Интерпретаторы постоянно совершенствуются для достижения высокой скорости исполнения байт-кода. Разработаны JIT(just in time)-компиляторы запоминающие уже интерпретированные участки в машинных командах процессора и выполняющие их при повторном обращении.
Кроме программного обеспечения JVM и JIT фирма Sun и другие компании разработали специальные микросхемы JVM-процессоры.
Эти процессоры выполняют программы JVM без компиляции и интерпретации. Они имеют патент фирмы Sun и разработаны в рамках проекта PICO-Java. Микросхемы на основе PICO-Java встраиваются в пластиковые карты, мобильные телефоны, телевизоры и т.д.