Sobes.tech
Junior

JVM kontekstida qanday ma'lumot turlari mavjud?

sobes.tech AI

AIdan javob

JVM kontekstida ikki turdagi ma'lumotlar mavjud: Asosiy Turlar (Primitive Types) va Referens Turlar (Reference Types).

Asosiy Turlar:

  • Asosiy qiymatlarni ifodalaydi (raqamlar, belgilar, mantiqiy qiymatlar).
  • Bu turlar hajmi va qiymat diapazoni JVM spetsifikatsiyasi bilan qat'iy belgilangan.
  • Qiymat orqali o'tkaziladi.
  • Stackda saqlanadi.

Asosiy turlar ro'yxati:

  • boolean: true yoki false.
  • byte: 8-bitli imzo bilan raqam.
  • short: 16-bitli imzo bilan raqam.
  • char: 16-bitli Unicode belgisi (imzosiz).
  • int: 32-bitli imzo bilan raqam.
  • long: 64-bitli imzo bilan raqam.
  • float: 32-bitli bitta aniqlikdagi suzuvchi nuqta raqami.
  • double: 64-bitli ikki marta aniqlikdagi suzuvchi nuqta raqami.

Referens Turlar:

  • Xotiradagi (Heap) ob'ektlarga havolalar (manzillar)ni ifodalaydi.
  • Havola o'lchami odatda JVM arxitekturasiga (32-bit yoki 64-bit) bog'liq.
  • Havola orqali o'tkaziladi, ammo texnik jihatdan havolaning nusxasi o'tkaziladi.
  • Heapda saqlanadi.

Referens turlar turlari:

  • Klasslar (Class Types): Foydalanuvchi yoki kutubxona klasslarining nusxalari (masalan, String, Object).
  • Interfeyslar (Interface Types): Muayyan interfeysni amalga oshirgan ob'ektlarga havolalar.
  • Massivlar (Array Types): Elementlarning tartiblangan kolleksiyalarini saqlash uchun konteyner ob'ektlar (asosiy va referens turlar uchun).

Foydalanish misoli:

// Asosiy tur
int primitiveInt = 10;

// Referens tur (String klassi ob'ekti)
String referenceString = new String("Hello");

// Asosiy tur massivida
int[] primitiveArray = {1, 2, 3};

// Referens tur massivida
String[] referenceArray = {"A", "B"};