Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
93
Добавлен:
07.02.2016
Размер:
789.52 Кб
Скачать

Исключения

Исключения в 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 встраиваются в пластиковые карты, мобильные телефоны, телевизоры и т.д.

Соседние файлы в папке [КОМП СИСТЕМЫ]