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