Page 17 - 4836
P. 17
адже компілятор відразу повідомляє про помилки і вказує їх
розташування в коді.
- легкість в освоєнні і розробленні. І перше місце тут
займає робота з пам'яттю. У Java з самого початку був
введений механізм автоматичної збірки сміття (від
англійського garbage collector). Крім введення garbage
collector, були зроблені й інші кроки для полегшення
розробки. Деякі з них вже згадувалися - відмова від
множинного спадкоємства, спрощення синтаксису та ін.
Можливість створення багатопоточних додатків була
реалізована в першій же версії Java.
- безпека. Початкова націленість на розподілені
додатки, і особливо рішення виконувати аплети на клієнтській
машині, зробили питання захисту одним з найбільш
пріоритетних. При роботі будь-якої віртуальної машини Java
діє цілий комплекс заходів.
o По-перше, це правила роботи з пам'яттю. Вже
говорилося, що очищення пам'яті проводиться
автоматично. Резервування її також визначається JVM,
а не компілятором, або явним чином з програми,
розробник може лише вказати, що він хоче створити
ще один новий об'єкт.
o наявність віртуальної машини-інтерпретатора
значно полегшує відсікання небезпечного коду на
кожному етапі роботи. Спочатку байт-код
завантажується в систему, як правило, у вигляді class-
файлів. JVM ретельно перевіряє, чи всі вони
підкоряються загальним правилам безпеки Java і не
створені чи зловмисниками за допомогою якихось
інших засобів (і не спотворені чи при передачі). Потім,
під час виконання програми, інтерпретатор легко може
перевірити кожну дію на допустимість. Можливості
класів, які були завантажені з локального диска або по
мережі, істотно розрізняються (користувач легко може
15