Page 16 - 4836
P. 16
єдине завдання - реалізувати віртуальні машини на всіх
існуючих і використовуваних платформах.
Наявність віртуальної машини визначає багато
властивостей Java, однак зараз зупинимося на наступному
питанні - є Java мовою компільованою або інтерпретованою?
Насправді, використовують обидва підходи.
Вихідний код будь-якої програми на мові Java
представляється звичайними текстовими файлами, які можуть
бути створені в будь-якому текстовому редакторі або
спеціалізованому засобі розробки і мають розширення .java.
Ці файли подаються на вхід Java-компілятора, який транслює
їх у спеціальний Java байт-код. Саме цей компактний і
ефективний набір інструкцій підтримується JVM і є
невід'ємною частиною платформи Java.
Результат роботи компілятора зберігається в бінарних
файлах з розширенням .class. Java-додаток, що складається з
таких файлів, подається на вхід віртуальній машині, яка
починає їх виконувати, або інтерпретувати, оскільки сама є
програмою.
2. Об'єктна орієнтованість Java. У Java практично
все реалізовано у вигляді об'єктів - потоки виконання (threads)
і потоки даних (streams), робота з мережею, робота із
зображеннями, з інтерфейсом, обробка помилок і т.д.
Зрештою, будь-який додаток на Java - це набір класів, що
описують нові типи об'єктів.
Основні особливості об'єктної моделі Java.
- відмова від множинного спадкоємства. Було
вирішено, що воно занадто ускладнює і заплутує програми. У
мові використовується альтернативний підхід - спеціальний
тип "інтерфейс".
- строга типізація. Це означає, що будь-яка змінна і
будь-який вираз має тип, відомий вже на момент компіляції.
Такий підхід застосовано для спрощення виявлення проблем,
14