Sobes.tech
Junior — Middle

Ինչպե՞ս է ներկայացվում օբյեկտը հիշողության մեջ ծրագրի կոմպիլյացիայի ավարտից հետո։

sobes.tech AI

Պատասխան AI-ից

Android (Java/Kotlin) ծրագրի կոմպիլյացիայի ավարտից հետո օբյեկտը հիշողության մեջ ներկայացվում է տվյալների հավաքածու, որը տեղադրված է heap-ում (հավաքածուի տարածք): Հիշողության մեջ պահվում են՝

  • Օբյեկտի գլխամասը (մետադատվություններ, օրինակ՝ հղում դասին, տեղեկություններ գարշահավաքի համար):
  • Օբյեկտի դաշտերը (նմուշի փոփոխականներ) և դրանց արժեքները:

Հղումները օբյեկտներին պահվում են stack-ում, իսկ ինքները՝ heap-ում: Ծրագրի գործարկման ժամանակ JVM կամ ART (Android Runtime) կառավարում է օբյեկտների համար հիշողության հատկացումը և ազատումը:

Համեմատաբար, օբյեկտը հիշողության մեջ կարող է ներկայացվել այնպես՝

Heap:
+---------------------+
| Օբյեկտի գլխամաս  |
| Դաշտ1 (int)      |
| Դաշտ2 (հղում String) |
| ...               |
+---------------------+

Stack:
+---------------------+
| Հղում օբյեկտին  |
+---------------------+