Найпростіший годинник на Java - Інформатика, програмування
Федеральне агентство з освіти
Федеральна державна установа вищої професійної освіти
«Чуваський Державний Університет імені І.М.Ульянова»
Кафедра Вищої математики та інформаційних технологій
По предмету: "Програмування на Java"
На тему: «Найпростіший годинник на Java»
Глава 1 Основи Java
1.1 Виконання Java-програми
1.2 Що таке JDK
Глава 2 Об'єктно-орієнтоване програмування Java
2.1 Принципи об'єктно-орієнтованого програмування
Глава 3 Принципи побудови графічного інтерфейсу
3.1 Компонент та контейнер
Розділ 4 Аплети
4.2 Параметри тега
4.3 Відомості про оточення аплету
4.4 Зображення та звук
Таке швидке і широке поширення технології Java не в останню чергу пов'язане з тим, що вона використовує нову спеціально створену мову програмування, яка так і називається - мова Java. Ця мова створена з урахуванням мов Smalltalk, Pascal, C++ та інших., увібравши їх найкращі, на думку авторів, риси і відкинувши гірші. Щодо цього є різні думки, але безперечно, що мова вийшла зручною для вивчення, написані на ній програми легко читаються та налагоджуються: першу програму можна написати вже через годину після початку вивчення мови. Мова Java стає мовою навчання об'єктно-орієнтованого програмування, так само, як мова Pascal була мовою навчання структурного програмування.
Глава 1 Основи Java
1.1 Виконання Java-програми
Як ви знаєте, програма, написана однією з мов високого рівня, до яких відноситься і мова Java, так званий вихідний модуль ("вихідник" або "сирець" на жаргоні, від англійської"source"), не може бути одразу ж виконана. Її спочатку треба відкомпілювати, тобто перевести у послідовність машинних команд – об'єктний модуль. Але і він, як правило, не може бути відразу ж виконаний: об'єктний модуль треба ще скомпонувати з бібліотеками використаних у модулі функцій і дозволити перехресні посилання між секціями об'єктного модуля, отримавши в результаті завантажувальний модуль повністю готову до виконання програму.
Інша особливість Java - всі стандартні функції, що викликаються в програмі, підключаються до неї тільки на етапі виконання, а не включаються до байт-кодів. Як кажуть фахівці, відбувається динамічне компонування (dynamic binding). Це також сильно зменшує обсяг відкомпільованої програми.
Отже, першому етапі програма, написана мовою Java, перекладається компілятором в байт-коды. Ця компіляція залежить від типу будь-якого конкретного процесора і архітектури якогось конкретного комп'ютера. Вона може бути виконана один раз відразу після написання програми. Байт-коди записуються в одному або декількох файлах, можуть зберігатися у зовнішній пам'яті або передаватися через мережу. Це особливо зручно завдяки невеликому розміру файлів із байт-кодами. Потім отримані в результаті компіляції байт-коди можна виконувати будь-якому комп'ютері, що має систему, що реалізує JVM. При цьому не важливим є ні тип процесора, ні архітектура комп'ютера. Так реалізується принцип Java "Write once, run anywhere" - "Написано одного разу, виконується будь-де".
Інтерпретація байт-кодів та динамічне компонування значно уповільнюють виконання програм. Це не має значення в тих ситуаціях, коли байт-коди передаються по мережі, мережа все одно повільніша за будь-яку інтерпретацію, але в інших ситуаціях потрібен потужний і швидкий комп'ютер. Томупостійно йде удосконалення інтерпретаторів у бік збільшення швидкості інтерпретації. Розроблено JIT-компілятори (Just-In-Time), що запам'ятовують вже інтерпретовані ділянки коду в машинних командах процесора і просто виконують ці ділянки при повторному обігу, наприклад, циклах. Це значно збільшує швидкість обчислень, що повторюються. Фірма SUN розробила цілу технологію Hot-Spot та включає її у свою віртуальну машину Java. Але, звичайно, найбільшу швидкість може дати лише спеціалізований процесор.
Фірма SUN Microsystems випустила мікропроцесори PicoJava, що працюють на системі команд JVM, і збирається випускати цілу лінійку більш потужних Java-процесорів. Є вже й Java процесори інших фірм. Ці процесори безпосередньо виконують байт-коди. Але при виконанні програм Java на інших процесорах потрібно ще інтерпретація команд JVM в команди конкретного процесора, а отже, потрібна програма-інтерпретатор, причому для кожного типу процесорів, і для кожної архітектури комп'ютера слід написати інтерпретатор.
Це завдання вже вирішено практично всім комп'ютерних платформ. Там реалізовані віртуальні машини Java, а найпоширеніших платформ є кілька реалізацій JVM різних фірм. Все більше операційних систем та систем управління базами даних включають реалізацію JVM у своє ядро. Створено і спеціальну операційну систему JavaOS, що використовується в електронних пристроях. Більшість браузерів вбудована віртуальна машина Java для виконання аплетів.
Уважний читач вже помітив, що окрім реалізації JVM для виконання байт-кодів на комп'ютері ще потрібно мати набір функцій, що викликаються з байт-кодів і динамічно компонуються з байт-кодами. Цей набір оформляється у виглядібібліотеки класів Java, що складається з одного або кількох пакетів. Кожна функція може бути записана байт-кодами, але оскільки вона зберігатиметься на конкретному комп'ютері, її можна записати прямо в системі команд цього комп'ютера, уникнувши тим самим інтерпретації байт-кодів. Такі функції називають "рідними" методами (native methods). Застосування "рідних" методів прискорює виконання програми.
Фірма SUN Microsystems – творець технології Java – безкоштовно поширює набір необхідних програмних інструментів для повного циклу роботи з цією мовою програмування: компіляції, інтерпретації, налагодження, що включає багату бібліотеку класів, під назвою JDK (Java Development Kit). Є набори інструментальних програм та інших фірм. Наприклад, велику популярність користується JDK фірми IBM.