इस कोड को देखते हुए:।अंतर getResourceAsStream()
/* 1 */ InputStream in1 = ClassLoader.getSystemResourceAsStream("foobar.txt");
/* 2 */ InputStream in2 = this.getClass().getResourceAsStream("/foobar.txt");
दोनों एक ही संसाधन वापसी करते हैं (मुझे लगता है कि इस सवाल का जवाब है "हाँ")?
क्या वे दोनों "समान" कक्षापथ तक पहुंचते हैं? # 1 में विधि का नाम क्यों है सिस्टम संसाधन एएसस्ट्रीम ", लेकिन # 2 के लिए यह सिर्फ" getResourceAsStream "है?
धन्यवाद
तो आप कह रहे हैं कि वेब अनुप्रयोगों में एकाधिक क्लासपाथ हैं? – Michael
@ माइकल - का क्रमबद्ध करें। आम तौर पर, प्रत्येक वेबपैप को अपना खुद का क्लासलोडर मिलता है जो युद्ध, ईएआर, आदि की सामग्री के लिए ज़िम्मेदार है। इन क्लासलोडर्स के पास एक सामान्य माता-पिता होता है और इसलिए विभिन्न libapps में सामान्य lib निर्देशिकाओं में कक्षाएं साझा की जाती हैं। लेकिन ये पदानुक्रम कई लोडर गहरे हो सकते हैं। सिस्टम क्लासलोडर शीर्ष पर होगा, लेकिन शायद इसमें एक संख्या हो सकती है। – sblundy
अलग-अलग वेबपैप्स में अलग-अलग क्लासलोडर्स होंगे। उदाहरण के लिए, ग्लासफ़िश में, उनके पास यहां एक पदानुक्रम निर्दिष्ट है: http://download.oracle.com/docs/cd/E19798-01/821-1752/6nmndgmhr/index.html#fvxzq। – g051051