Middle
Kas primitiivne andmetüüp saab asetada Heap-i?
sobes.tech AI
Vastus AI-lt
Ei, primitiivsed andmetüübid (byte, short, int, long, float, double, boolean, char) salvestatakse virnas (Stack Memory). Objekid, sealhulgas primitiivsete tüüpide ümbrised, salvestatakse virnale (Heap Memory).
Kuid primitiivsed tüübid võivad olla osa objektist, mis asub virnas. Sellisel juhul salvestatakse primitiivsete tüüpide väljad samasse mäluplokki virnas, mis on objekti enda oma.
Näiteks:
// Primitiv int salvestatakse virnas
int x = 10;
// Objekti Integer (primitiivse tüübi ümbris) salvestatakse virnale
Integer y = 20;
// Objekti MyObject salvestatakse virnale
MyObject obj = new MyObject();
class MyObject {
// Primitiv int "sisemiselt" objekti, mis asub virnas
int value;
}
Selles näites on value objekti obj väli ja see salvestatakse virnale osana sellest objektist. Kuid primitiivset tüüpi ei saa eraldi objekti juurest virnas hoida.