Порівняння C Sharp і Java

April 14th, 2009

+ печать брошюры в word в Москве


« Програмування на мові Java авторський   |   Порівняння Qt і Java »

Поточна версія (не перевірялася) Перейти до: навігація, пошук

Порівняння з іншими мовами програмування - Порівняння C Sharp і Java В цій статті порівнюються мови програмування C# і Java - два дуже схожих між собою сучасних мови із збіркою сміття і компіляцією при виконанні з C++-подобным синтаксисом. Справжня сторінка дає огляд схожості і відмінності цих однотипних мов.
Читачеві слід уникати спокуси «вести рахунок», а натомість звернути увагу на причини, по яких було зроблено те або інше рішення.

Мова

Механізм роботи з динамічними даними і збірка сміття

Обидві мови реалізують принципово однакову модель роботи з динамічними даними: об’єкти створюються динамічно за допомогою конструкції new, середовище виконання відстежує наявність посилань на них, а складальник сміття періодично очищає пам’ять від об’єктів, посилань на які немає.
Для оптимізації збірки сміття специфікації мов і середовищ виконання не містять обмежень на час життя об’єкту після видалення останнього посилання на нього - складальник працює незалежно від виконання програми, тому реальне знищення об’єкту може відбутися у будь-який момент після видалення останнього посилання до завершення роботи програми.
У реальності складальники сміття оптимізують виконання так, щоб забезпечити прийнятну витрату пам’яті при мінімальному уповільненні роботи програм.

І в Java, і в C# є сильні і слабкі посилання на об’єкти. Обидві мови підтримують методи-фіналізатори. Із-за невизначеності моменту видалення об’єкту фіналізатори не можуть використовуватися для звільнення системних ресурсів, зайнятих об’єктом, що вимушує створювати додаткові методи для «очищення» об’єкту і викликати їх явно.

C# містить в стандартній бібліотеці інтерфейс IDisposable і спеціальну конструкцію using, що гарантує своєчасний виклик методу очищення:


Tags: , , , , , ,

Порівняння з іншими мовами програмування


Схожі записи

Категория: Порівняння з іншими мовами програмування |

Комментарии