Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Асемблер для платформи Java

Реферат Асемблер для платформи Java





я бітових прапорів, що визначають права доступу і деякі інші характеристики класу:

Прапор

Значення

Сенс

ACC_PUBLIC

0x0001

Доступний за меж пакета

ACC_FINAL

0x0010

Заборонено спадкоємство від даного класу

ACC_SUPER

0x0020

У методах даного класу потрібно використовувати прийняту в Java2 трактування команди invokespecial

ACC_INTERFACE

0x0200

Інтерфейс (є класом спеціального виду)

ACC_ABSTRACT

0x0400

Абстрактний клас

В· this_class, super_class - індекси структур в області констант, що посилаються на цей клас і його клас-предок;

В· interfaces_count - число інтерфейсів, реалізованих даним класом;

В· interfaces - масив індексів структур в області констант, що посилаються на інтерфейси, реалізовані даними класом;

В· fields_count - кількість полів в даному класі;

В· fields - масив структур field_info, що описують поля класу. Формат структури field_info буде розглянутий нижче;

В· methods_count - кількість методів;

В· methods - масив структур method_info, що описують методи класу. Формат структури mettho_info буде розглянуто нижче. Конструктори і статичні ініціалізатори представляються методами зі спеціальними іменами і ;

В· attributes_count - кількість атрибутів класу;

В· attributes - масив структур-атрибутів класу (поля, методи і байт-код методів також можуть мати свої атрибути). Кожна така структура на початку має два обов'язкових поля, описують тип атрибуту і його розмір. До класу можуть бути застосовані такі стандартні атрибути: SourceFile - вказує на файл вихідного тексту, з якого був отриманий даний файл класу, і Deprecated - клас залишений для сумісності зі старим кодом і його використання не рекомендується. Можливе створення атрибутів нестандартних типів, але вони будуть ігноруватися середовищем виконання.


Типи елементів Constant_pool

Кожен елемент сonstant_pool починається з однобайтное поля, що визначає його тип. Розмір і зміст іншої частини структури залежить від типу. Існують такі типи констант (елементів constant_pool):

В· CONSTANT_Class - вказує на клас. Містить індекс константи типу CONSTANT_Utf8, що зберігає дескриптор класу;

В· CONSTANT _Fieldref - вказує на поле класу. Містить індекси констант типу CONSTANT_Class і CONSTANT_NameAndType;

В· CONSTANT _Methodref вказує на метод класу (НЕ інтерфейсу). Містить індекси констант типу CONSTANT_Class і CONSTANT_NameAndType;

В· CONSTANT _InterfaceMethodref Вказує на метод інтерфейсу. Містить індекси констант типу CONSTANT_Class і CONSTANT_NameAndType;

В· CONSTANT_String - вказує на рядок, містить індекс константи типу CONSTANT_Utf8;

В· CONSTANT_Integer - містить ціле 32-розрядне число;

В· CONSTANT_Float - містить дійсне число одинарної точності;

В· CONSTANT_Long - містить ціле 64-розрядне число;

В· CONSTANT_Double - містить дійсне число подвійний точності;

В· CONSTANT_NameAndType - описує сигнатуру і ім'я методу або тип і ім'я поля. Містить індекси двох констант типу CONSTANT_Utf8, що зберігають відповідно ім'я і дескриптор типу (сигнатури);

В· CONSTANT_Utf8 - містить рядок у форматі Utf8 (символи Unicode представляються комбінаціями від 1 до 3-х байт, причому символи з кодами, що не перевищують 127, представляються одним байтом).


Дескриптори - це рядка, що описують типи і сигнатури методів в компактному форматі. Примітивні типи позначаються однією буквою, типи масивів - відкривають квадратними дужками в кількості, рівній розмірності масиву, перед позначенням базового типу. Класи описуються рядком, що містить ім'я класу з повним шляхом, при цьому замість точки роль роздільника імен пакетів і класу виконує слеш. У дескрипторах сигнатур методів у круглих дужках без роздільників перераховуються дескриптори типів параметрів; після закриває дужки знаходиться дескриптор типу значення, що повертається. Для усунення неоднозначностей при цьому перед дескрипторами класів записується літера L, а після них - крапка з комою. Наприклад, (ILjava/lang/Object ;) I - (int, Object): int (буквою I позначається тип int). br/> Формат структури field_info

Структура field_info має наступний формат:


field_info {

u2 access_flags;

u2 name_index;

u2 descriptor_index;

u2 attributes_count; ...


Назад | сторінка 2 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Клас птахи, загальна характеристика класу
  • Реферат на тему: Розробка і реалізація програми на мові С ++ з використанням класу статичних ...
  • Реферат на тему: Аналіз схеми, що містить операційний підсилювач
  • Реферат на тему: Розробка технологічних стадій для створення антоциан-яка містить біологічно ...