Sobes.tech
Junior — Middle

რა არის სტრინგ ლიტერალების სტეკი და რა მიზნით გამოიყენება მეხსიერების მართვაში?

sobes.tech AI

პასუხი AI-სგან

სტრინგების პული (String Pool) არის სპეციალური მეხსიერების ზონა Java-ში, სადაც ინახება უნიკალური სტრინგ ობიექტები. როდესაც ქმნით სტრინგ ლიტერალს, JVM ამოწმებს, თუ ასეთი სტრინგი უკვე არსებობს პულში. თუ არსებობს — ის აბრუნებს მის მითითებას; თუ არა — დამატებს ახალს.

რატომ არის ეს საჭირო?

  • მეხსიერების დაზოგვა: ერთნაირი სტრინგები ინახება მხოლოდ ერთხელ.
  • მუშაობის ეფექტურობის გაზრდა: პულიდან ლიტერალების შედარება (==) შესაძლებელია.

მაგალითი:

String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, ორივე მითითება ერთ ობიექტზე პულში

String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 ახალი ობიექტია პულიდან გარეთ

ასე, სტრინგების პული ეხმარება მეხსიერების ეფექტიან მართვაში, როდესაც მუშაობთ სტრინგებთან.