March 19th, 2009
рециркулятор бактерицидный цена
« Java протистоїть новому поколінню динамічних мов |
Як починалася революція Інтернет частина 2 »
Java, можливо, і є найпоширенішою мовою програмування, заснованою на технології утилізації пам’яті, але у жодному випадку не першим. Утилізація пам’яті була невід’ємною частиною багатьох мов програмування, включаючи Lisp, Smalltalk, Eiffel, Haskell, ML, Scheme і Modula-3 і використовується з початку 1960-х років.
У цьому випуску Теорія і практика Java Брайан Гетц описує найпоширеніші методи збірки сміття.
У найближчі декілька місяців він розгляне стратегії складки сміття, використовувані віртуальною машиною Java 1.4, вплив різних стратегій збірки сміття на продуктивність, а також те, як сприяти (а рівно і як перешкодити) складальникові сміття в досягненні найвищої продуктивності.
Користь від збірки сміття очевидна - підвищується надійність, управління пам’яттю відділяється від дизайну інтерфейсу класу, і розробник витрачає менше часу на відстежування помилок пам’яті.
Добре відомі проблеми з повислими покажчиками і витоками пам’яті просто не зустрічаються в програмах Java (у них зустрічаються один з видів витоку пам’яті, який точніше називається мимовільне запам’ятовування об’єкту, але це дещо інша проблема).
Проте збірка сміття має і свої витрати, серед яких негативний вплив на продуктивність, паузи, складна конфігурація і недетерміноване завершення процедур.
В ідеалі реалізація збірки сміття була б абсолютно непомітною: не було б пауз, центральний процесор не витрачав би час на утилізацію пам’яті, складальник сміття не впливав би негативно на віртуальну пам’ять або кеш, і розмір динамічної пам’яті (heap) не було б потрібно більше, ніж резиденція (заповнення динамічної пам’яті) додатку.
Звичайно, не існує ідеальних складальників сміття, але вони значно покращали за останні десять років.
Можливості і варіанти вибору
Pages: 1 2 3 4 5 6 7 8 9 10 11
Tags:
збірка,
обєкт,
память,
посилання,
програма,
складальник,
сміття
Схожі записи
- Програмування на мові Java Нове в Java 11 (07.03.2009)
... Цифрові підписи відкривають можливість запуску аплетів, що користуються повною довірою користувача, в умовах мінімальних обмежень, пов'язаних з безпекою.
Серіалізация об'єктів
Тепер об'єкти можна легко серіалізовать для передачі по мережі або запису на диск для постійного зберігання.
Віддзеркалення
Програми на Java можуть тепер відбиватися (reflection) на самих себе або на інший ...
- Що таке Java (25.03.2009)
...
По-друге, конференція розробників Java One, яка вперше була організована в 1996 році, вже через рік зібрала більше 10000 учасників і стала найбільшою конференцією із створення програмного забезпечення в світі (кожен наступний рік число учасників росло приблизно на 5000).
Спеціальна програма Sun, об'єднуюча розробників Java по всьому світу, Java Developer Connection, також була запущена в 1996 році, ...
- Програмування на мові Java Робота із зображеннями (10.03.2009)
... *; public class SimpleImageLoad extends Applet { Image art; public void init() { art = getImage(getDocumentBase(), getParameter("img")); } public void paint(Graphics g) { g.drawImage(art, 0, 0, this); }}
Метод paint використовує drawlmage з чотирма аргументами: це посилання на зображення art, координати лівого верхнього кута малюнка х, у і об'єкт типа ImageObserver. Ми поговоримо докладніше про ...
- Технологія Java в еволюції мобільних сервісів (01.04.2009)
... При введенні в це середовище технології Java був лучени додаткові переваги.
Так в: додатків з інтерфейсом, предполагающи прихований текст і тимчасові затримки при передачі; у Java-додатках користувачеві надається багата анімована графіка, швидке взаїмствіє, можливість використання додатку в режимі оф-лайн, і, що може бути найбільш корисно для користувача, можливість динамічно завантажувати в пристрій нові додатки.
Для розробників ...
- Порівняння C Sharp і Java (14.04.2009)
...
Мова
Механізм роботи з динамічними даними і збірка сміття
Обидві мови реалізують принципово однакову модель роботи з динамічними даними: об'єкти створюються динамічно за допомогою конструкції new, середовище виконання відстежує наявність посилань на них, а складальник сміття періодично очищає пам'ять від об'єктів, посилань на які немає.
Для оптимізації збірки сміття специфікації ...
Категория:
Про Java |
Комментарии