о зв'язуються динамічно. Автоматичний збирач сміття працює окремим фоновим потоком, що не сповільнюючи основну роботу програми, але в той же час забезпечуючи своєчасне повернення вільної пам'яті в систему. p align="justify"> Стандарт передбачає можливість написання критичних по продуктивності ділянок програми в машинних кодах: інтерпретована, багатопотокових і динамічний.
Скриптової природа мови дозволяє зробити фазу лінкування простий, інкрементальною і, отже, швидкою. Це різко скорочує цикл розробки і тестування програмних фрагментів. p align="justify"> багатопотікове дозволяє виконувати в рамках однієї програми кілька завдань одночасно. Це стає особливо актуально в сучасних розподілених додатках, коли процеси мережевого обміну можуть йти одночасно і асинхронно. При цьому програма продовжує реагувати на введення інформації користувачем без неприємних затримок. p align="justify"> багатопотікове підтримується на рівні мови - частина примітивів синхронізації вбудована в систему реального часу, а бібліотека містить базовий клас Thread. До того ж системні бібліотеки написані thread-safe, тобто всі вони можуть бути використані в многопотокових додатках.
Система забезпечує динамічну збірку програми. Класи довантажуються в міру необхідності, причому завантажені вони можуть бути з будь-якої точки мережі, що дозволяє зробити внесення змін у додатки прозорим для користувача. Користувач може бути впевнений, що завжди працює зі свіжою версією програми. br/>
1.5 Базова система Java
Досвід показує, що відсутність стандартних базових бібліотек для мови С + + надзвичайно ускладнює роботу з ним. У силу того, що будь-яке нетривіальне додаток вимагає наявності деякого набору базових класів, розробникам доводиться користуватися різними несумісними між собою бібліотеками або писати свій власний варіант такого набору. Все це ускладнює як розробку, так і подальшу підтримку додатків, утрудняє стиковку додатків, написаних різними людьми. p align="justify"> Повна система Java включає в себе готовий набір бібліотек, який можна розбити на наступні пакети:. lang - базовий набір типів, відображених в самій мові. Цей пакет обов'язково входить до складу будь-якої програми. Містить описи класів Object і Class, а також підтримку багатопотоковості, виняткових ситуацій, оболонку для базових типів, а також деякі фундаментальні класи. . Io - потоки і файли довільного доступу. Аналог бібліотеки стандартного введення-виведення системи UNIX. Підтримка мережевого доступу (sockets, telnet, URL) міститься в пакеті java.net. . Util - класи-контейнери (Dictionary, HashTable, Stack) і деякі інші утиліти. Кодування і декодування. Класи Date і Time. . Awt - Abstract Windowing Toolkit, не-залежний віконний інтерфейс, що дозволяє запускати інтерактивні віконні Java-додатки на будь-якій платформі. Містить базові компоненти інтерфейсу, такі як події, кольори...