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 ახალი ობიექტია პულიდან გარეთ
ასე, სტრინგების პული ეხმარება მეხსიერების ეფექტიან მართვაში, როდესაც მუშაობთ სტრინგებთან.