Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Переддипломно-виробнича практика Ткачук В.В. Ор...doc
Скачиваний:
4
Добавлен:
15.08.2019
Размер:
287.74 Кб
Скачать

10.3 Відомості про мову ооп Java

Система Java створена на основі “простої” мови програмування, техніка використання якого близька до загальноприйнятого. Java, як мова програмування, є об'єктно-орієнтованим з моменту установи. Крім того, програміст із самого початку забезпечується набором “стандартних” бібліотек, які забезпечують функціональність від стандартного введення/виводу і мережевих протоколів до графічних призначених для користувача інтерфейсів. Ці бібліотеки легко можуть бути розширені.

Синтаксис мови Java максимально наближений до синтаксису С++. В той же час з мови було вилучено багато властивостей, які роблять С++ надмірно складним для користування, не будучи абсолютно необхідними. В результаті мова Java стала простішою і органічнішою, чим С++.

Java істотним чином полегшує створення надійного програмного забезпечення. Окрім вичерпної перевірки на етапі компіляції, система передбачає аналіз на етапі виконання. Сама мова спроектована так, щоб виробляти у програміста звичку писати “правильно”. Модель роботи з пам'яттю, в якій виключене використання покажчиків, робить неможливим цілий клас помилок, характерних для С++. Внаслідок того, що Java призначений для роботи в розподіленому середовищі, безпека стає надзвичайно важливою проблемою. Вимоги безпеки визначають багато характеристик як мови, так і реалізації всієї системи.

Модулі додатка мають незалежний формат, який може бути проінтерпретований на безлічі всіляких платформ. Це вже не вихідні тексти, але ще не платформоно-залежні машинні коди. Програма, створена на одній платформі, працює на всіх іншим. Цей стандарт фіксований в документі, який описує Java Virtual Machine. Стандарт може бути реалізований на будь-якій апаратно-програмній платформі, яка підтримує багато потоків.

Схема роботи системи і набір байт-коду віртуальної машини Java такі, що дозволяють досягти високої продуктивності на етапі виконання програми:

  • аналіз код на дотримання правил безпеки виконується один раз до запуску код на виконання, у момент виконання таких перевірок він вже не потрібний, і коди виконуються максимально ефективно;

  • робота з базовими типами максимально ефективна, для операцій з ними зарезервовані спеціальні байти-коди;

  • методи в класах не обов'язково зв'язуються динамічно;

  • автоматичний збирач сміття працює окремим фоновим потоком, не уповільнюючи основну роботу програми, але в той же час забезпечуючи своєчасне повернення вільній пам'яті в систему;

  • стандарт передбачає можливість написання критичних по продуктивності ділянок програми в машинних кодах.

Природа мови дозволяє зробити фазу лінковання простою і швидкою. Це різко скорочує цикл розробки і тестування програмних фрагментів. Багато- поточність дозволяє виконати в рамках одного застосування декілька завдань одночасно. При цьому програма продовжує реагувати на введення інформації користувачем без неприємних затримок. Багато-поточність підтримується на рівні мови, частина примітивів синхронізації вбудована в систему реального часу, а бібліотека містить базовий клас Thread. І додатково системні бібліотеки написані thread-safe, тобто всі вони можуть бути використані в багато-потокових застосуваннях. Система забезпечує динамічну збірку програми. Класи довантажуються в міру необхідності, причому завантажуватися вони можуть з будь-якої точки мережі, яка дозволяє зробити внесення змін до додатків прозорим для користувача. Користувач може бути упевнений, що завжди працює зі свіжою версією додатка. Матеріал з джерела [6].