Sobes.tech
Junior

Ի՞նչ տվյալների տեսակներ կան JVM կոնտեքստում։

sobes.tech AI

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

JVM կոնտեքստում երկու տվյալների տեսակ կա. Պրիմիտիվ տեսակներ (Primitive Types) և Հղումային տեսակներ (Reference Types):

Պրիմիտիվ տեսակներ:

  • Ներկայացնում են հիմնական արժեքները (թիվեր, նշաններ, բուլյան արժեքներ):
  • Այս տեսակների չափը և արժեքների տիրույթը խստորեն սահմանված է JVM-ի հատուկագրությամբ:
  • Փոխանցվում են արժեքով:
  • Սխեմայի (Stack) մեջ պահվում են:

Պրիմիտիվ տեսակների ցանկը:

  • boolean: ճշմարիտ կամ կեղծ:
  • byte: 8-բիթանոց նշանավոր ամբողջ թիվ:
  • short: 16-բիթանոց նշանավոր ամբողջ թիվ:
  • char: 16-բիթ Unicode նշան (աննշանակված):
  • 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"};