Sobes.tech
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"};