जब हम कहते हैं कि आंतरिक पीढ़ी स्थायी पीढ़ी क्षेत्र में संग्रहीत हैं तो क्या यह स्ट्रिंग अक्षर के लिए भी लागू होता है? या यह केवल इंटर() द्वारा प्रशिक्षित तारों के लिए है?स्ट्रिंग अक्षर और स्थायी पीढ़ी मेमोरी एरिया
असल में ब्लॉग पोस्ट आमतौर पर कहते हैं कि स्ट्रिंग पूल में स्ट्रिंग ऑब्जेक्ट का संदर्भ होता है जबकि वास्तविक स्ट्रिंग ऑब्जेक्ट हैप में है। यह भी बहुत भ्रम है कि स्थायी पीढ़ी ढेर में या उसके बाहर है या नहीं। (I jcosole यह दिखा रहा है heap.many पदों से स्थायी रूप से जनरल अलग इस्तेमाल किया ढेर का एक हिस्सा के रूप में यह कहते हैं कि और कई यह अलग है कहते हैं)
संपादित करें: इसके अलावा जब मैं भागा:
public class stringtest2{
public static void main(String args[]){
int i=0;
List<String> list=new ArrayList<String>();
while(true){
String s="hello"+i;
String s1=i+"hello";
String s2=i+"hello"+i;
System.out.println(s);
s.intern();
s1.intern();
s2.intern();
list.add(s);
list.add(s1);
list.add(s2);
i++;
}
}
}
मैं उम्मीद कर रहा था Java.lang.OutOfMemoryError: PermGen space
लेकिन मैं मिल गया:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at stringtest2.main(stringtest2.java:20)
यह हो नहीं करना चाहिए Java.lang.OutOfMemoryError: PermGen space
+1। –
+1 के लिए –
'Java.lang.OutOfMemoryError: जावा हीप स्पेस '- लेकिन मैं जावा 6 अपडेट 29 का उपयोग कर रहा हूं। इसलिए मुझे' Java.lang.OutOfMemoryError: PermGen space' –