Міністерство освіти і науки України
Національний університет “Львівська політехніка”
/
Звіт
До Лабораторної роботи №1
З дисципліни: «Кросплатформені засоби програмування»
Мета: Оволодіти основами розробки програм мовою Java
ТЕОРЕТИЧНІ ВІДОМОСТІ
Програми написані мовою Java виконуються в середовищі виконання програм Java, яке у термінології Java називається JRE (Java Runtime Environment). Струкруно це середовище складається двох елементів: стандартних бібліотек класів Java та віртуальної машини Java, яка у термінології Java називається JVM (Java Virtual Machine). JVM в свою чергу складається з блоку перевірки безпечності коду програми, інтерпретатора або JIT (Just-in-time) компілятора та блоку керування пам’яттю.
Виконання програм написаних мовою Java починається з виклику JRE та передачі у нього скомпільованого у байт-код файлу з розширенням *.class, що містить main метод. Якщо файлів *.class є багато, то вони можуть бути заархівованими у файл з розширенням
*.jar. При цьому у файлі-архіві *.jar мають міститися файли класів і ресурсів програми, а клас, який містить main метод має бути вказаний в декларативному заголовку Main-Class (Main-Class manifest header).
Для запуску середовища JRE використовуються два інструменти: java та javaw, - у які через параметри передається необхідна для виконання програми інформація. Різниця між інструментами полягає в тому, що перший виводить консольне вікно на екран, а другий – ні. Синтаксис команд запуску цих інструментів, які виконуються у командному рядку операційної системи, наступний:
java [опції] <class> [ агрументи ... ]
java [опції] -jar <file.jar> [агрументи... ]
javaw [опції] <class> [агрументи... ]
javaw [опції] -jar <file.jar> [агрументи... ]
Параметри:
[опції]
Опції командного рядка ОС, які передаються в JRE.
<class>
Клас, який містить main метод.
<file.jar>
Ім’я *.jar файлу, який необхідно запустити на виконання. Використовується лише з опцією -jar. Вказаний *.jar файл має містити файли класів і ресурсів програми. Клас, який містить main метод має бути вказаний в декларативному заголовку Main-Class (Main-Class manifest header).
[агрументи...]
Аргументи командного рядка, які мають бути передані main методу.
Переданий у JRE байт-код програми поступає у блок перевірки безпечності коду програми, який здійснює три головні перевірки:
перевірка чи переходи відбуваються в допустимі місця програми;
перевірка чи дані є ініціалізовані і посилання є типізовані;
жорстка перевірка можливості доступу до приватних секцій класів і пакетів.
Перші дві перевірки переважно відбуваються при завантаженні програми в JRE, а остання – в процесі виконання програми, коли одні класи звертаються до полів інших класів.
Після успішного завершення перевірки байт-коду JVM емулює (виконує) набір інструкцій, написаних для JVM, інтерпретуючи їх або використовуючи JIT компілятор. Сучасні JVM використовують JIT компілятор, який одночасно компілює частини байт- коду, що мають аналогічну функціональність. Завдяки цьому зменшується кількість часу, що необхідна для компіляції порівняно з використанням інтерпретатора.
Для створення власних програм наявність JRE є недостатньою, оскільки JRE здатне лише виконувати байт-код, але не генерувати його в процесі компіляції, бо не містить компілятора. Тому для створення власних програм мовою Java необхідно встановити JDK (Java Development Kit), яке підтримує ту версію Java, якою ви будете писати програми. На відміну від JRE JDK містить компілятор, який називається javac, набір утиліт, які працюють в режимі командного рядка та набір бібліотек для платформ Java SE і Java EE. JDK так само як і JRE є безкоштовним, та разом з усією необхідною документацією і вихідним кодом бібліотек Java може бути вільно завантаженим з сайту фірми-виробника Oracle.
Встановивши JDK можна приступати до розробки програм мовою Java. Типова програма на мові Java складається з файлів з кодом програми на мові Java, які мають розширення *.java. Для їх компіляції в байт-код використовується компілят...