Junior
Дар матни JVM кадом намудҳои маълумот мавҷуданд?
sobes.tech AI
Ҷавоб аз AI
Ҷиҳати контексти JVM, ду навъи маълумот мавҷуд аст: Навъҳои ибтидоӣ (Primitive Types) ва Навъҳои ишора (Reference Types).
Навъҳои ибтидоӣ:
- Намояндагони арзишҳои асосӣ (с numbers, аломатҳо, арзишҳои булеан).
- Андоза ва диапазони арзишҳои ин навъҳо қатъӣ муайян карда шудаанд аз ҷониби спецификацияи JVM.
- Бо арзиш мегузаранд.
- Дар stack нигоҳ дошта мешаванд.
Рӯйхати навъҳои ибтидоӣ:
boolean: дуруст ё нодуруст.byte: рақами 8-битӣ бо тамғо.short: рақами 16-битӣ бо тамғо.char: аломат Unicode 16-битӣ (бе тамға).int: рақами 32-битӣ бо тамғо.long: рақами 64-битӣ бо тамғо.float: рақами 32-битӣ бо дақиқии оддӣ.double: рақами 64-битӣ бо дақиқии дукарата.
Навъҳои ишора:
- Намояндагони ишораҳо (суроғаҳо) ба объектҳо дар хотира (Heap).
- Андозаи ишора одатан аз архитектураи JVM (32 ё 64 бит) вобаста аст.
- Бо ишора мегузаранд, ҳарчанд техникан як нусхаи ишора мегузарад.
- Дар heap нигоҳ дошта мешаванд.
Навъҳои ишора:
- Классҳо (Class Types): Нусхаҳои класи истифодабаранда ё китобхона (масалан,
String,Object). - Интерфейсҳо (Interface Types): Ишораҳо ба объектҳое, ки интерфейси муайянро иҷро мекунанд.
- Масивҳо (Array Types): Объектҳои контейнер барои нигоҳ доштани коллексияҳои мураттабшудаи элементҳо (ҳарду ибтидоӣ ва ишора).
Масалан истифода:
// Навъи ибтидоӣ
int primitiveInt = 10;
// Навъи ишора (объекти синфи String)
String referenceString = new String("Hello");
// Навъи ибтидоӣ дар массив
int[] primitiveArray = {1, 2, 3};
// Навъи ишора дар массив
String[] referenceArray = {"A", "B"};