«Ջավա»–ի խմբագրումների տարբերություն

Content deleted Content added
չ Ռոբոտ․ Տեքստի ավտոմատ փոխարինում (-http://aca.am/ +https://aca.am/)
Տող 37.
 
Ըստ http://shootout.alioth.debian.org կայքի, 7 տարբեր խնդիրների համար Java-ով գրված ծրագրի կատարման ժամանակը 1.5 – 2 անգամ ավելի շատ է, քան C\C++ -ով գրված ծրագրի համար։ Առանձին դեպքերում Java-ն ավելի արագ է, իսկ որոշ դեպքերում 7 անգամ ավելի դանդաղ։ Մյուս կողմից, այդ խնդիրներից շատերի համար հիշողության սպառումը 10 – 30 անգամ ավելի շատ է, քան C\C++ -ով գրված ծրագրերի համար։
Վիրտուալ մեքենայի կոնցեպցիան մեծ ազդեցություն թողեց, և շատ ծրագրավորման լեզուների համար ստեղծվեցին համապատասխամհամապատասխան տեխնոլոգիաներ։ Այդ գաղափարը նաև իրագործվել է CLI ինֆաստրուկտուրայի մեջ, որը հանդիսանում է Microsoft ընկերության .NET պլատֆորմի հիմքը։
 
Java-ն օգտագործում է [[աղբահավաք]]՝ ({{lang-en|[https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29 Garbage collector - GC]}}) հիշողության ավտոմատ կազմակերպման համար։ Երբ ծրագրի աշխատանքի ժամանակ որևէ օբյեկտ չի օգտագործվում, այսինքն չկա նրա վրա ցուցող որևէ հղում, ապա աղբահավաքը ջնջում է այն հիշողությունից։ Չնայած այս ավտոմատացված կազմակերպմանը՝ [[հիշողության արտահոսք]]ի ({{lang-en|[https://en.wikipedia.org/wiki/Memory_leak Memory leak]}}) վտանգը դեռ մնում է։ Օրինակ հիշողության արտահոսք կարող է լինել, եթե ոչ պետքական օբյեկտի վրա ցուցող [[հղում]] ({{lang-en|[https://en.wikipedia.org/wiki/Reference_%28computer_science%29 Refernce]}}) մնա։ Ի տարբերություն [[C++]]-ի Java-ն հնարավորություն չի տալիս [[ցուցիչ]]ների ({{lang-en|[https://en.wikipedia.org/wiki/Pointer_%28computer_programming%29 Pointer]}}) հետ աշխատելու, ձեռքով հիշողությունն ազատելու, [[խելացի ցուցիչ]]ներ ({{lang-en|[https://en.wikipedia.org/wiki/Smart_pointer Smart pointer]}}) օգտագործելու և այլն։ Աղբահավաքը կարող է աշխատել ցանկացած պահի, իդեալական դեպքում այն աշխատում է համեմատաբար պարապուրդի մեջ եղած ժամանակ։ Երաշխավորված է, որ այն կաշխատի, երբ բավարար հիշողություն չլինի նոր օբյեկտ ստեղծելիս։ Սա թույլ է տալիս աղբահավաքին տեղափոխել օբյեկտների հասցեները և տալիս է տիպերի ապահովություն։ Ինչպես C++-ում և որոշ օբյեկտ-կողմնորոշված ծրագրավորման լեզեւներում, Java - ում պրիմիտիվ տիպերը(int, double, boolean, char) պահվում են դաշտերում (օբյեկտների համար), ստեկում ({{lang-en|[https://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29 Stack]}}) (ֆունկցիաների համար), այդ պատճառով դրանց համար աղբահավաք չի աշխատում։ Սա Java - ի ստեղծողների գիտակցված որոշումն է, որի նպատակն է բարձրացնել արագագործությունը։
Ստացված է «https://hy.wikipedia.org/wiki/Ջավա» էջից