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"};