this
पॉइंटर पॉइंट ऑब्जेक्ट को ही कैसे इंगित करता है? क्या यह जावा क्रियान्वयन है या यह एक कंपाइलर कार्यान्वयन है?जावा "यह" कीवर्ड कैसे कार्यान्वित किया जाता है?
उत्तर
खैर अगर आप क्यों संकलक
class HelloWorld
{
private String hello = "Hello world!";
private void printHello(){
System.out.println (this.hello);
}
public static void main (String args[]){
HelloWorld hello = new HelloWorld();
hello.printHello();
}
}
संकलित
% JAVA_HOME%/bin/javac HelloWorld.java
का उपयोग करके जनरेट बाइट कोड को देखने नहीं रुचि रखते हैंjavap -c HelloWorl का उपयोग करके बाइटकोड प्राप्त करें घ
संपादित ऐड उत्पादन
enter code here
HelloWorld();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()
4: aload_0
5: ldc #2; //String Hello world!
7: putfield #3; //Field hello:Ljava/lang/String;
10: return
public static void main(java.lang.String[]);
Code:
0: new #6; //class HelloWorld
3: dup
4: invokespecial #7; //Method "<init>":()V
7: astore_1
8: aload_1
9: invokespecial #8; //Method printHello:()V
12: return
}
दार्शनिक प्रश्न की तरह लगता है। मुझे यकीन नहीं है कि जावा कार्यान्वयन है।
this
जेएलएस में परिभाषित किया गया है और जावा में एक कीवर्ड है और संकलन को उस मानक का पालन करना है। आप
object.method(args)
की तरह एक विधि है जब वास्तव बाइट कोड में कहा जाता है एक तरीका है जिसके लग रहा है
method(object, args);
जहां this
पहला तर्क है की तरह।
जेवीएम स्तर पर, पैरामीटर के नाम नहीं हैं और यदि वास्तव में इसका उपयोग नहीं किया जाता है तो जेआईटी तर्क को दूर कर सकता है।
:) कोई पीटर नहीं। इस सवाल के साथ साक्षात्कार में उछाल आया। इसे जांचने के बहुत सारे। – mavrav
कभी-कभी साक्षात्कार में आपको खराब शब्दों के प्रश्न मिलते हैं। यह एक संकेत हो सकता है कि साक्षात्कारकर्ता को या तो जवाब नहीं पता है, और सिर्फ यह जानना चाहता है कि आप क्या कहते हैं। –
जब तक पोस्टिंग में शामिल नहीं किया जा रहा है, तो आप एक JVM कार्यान्वयन पर काम कर रहे हैं, यह एक भयानक सवाल है! – vaughandroid
जेवीएम बाइटकोड में, स्थानीय चर 0 (मूल रूप से 0 पंजीकृत) एक विधि लागू होने पर वर्तमान ऑब्जेक्ट को इंगित करता है। कंपाइलर स्थानीय चर के लिए this
का उपयोग करता है।
तो मुझे लगता है कि उत्तर यह है कि संकलक this
लागू करता है।
- 1. सिंक्रनाइज़ किए गए जावा कीवर्ड को कैसे कार्यान्वित किया जाता है?
- 2. Arrays.sort (ऑब्जेक्ट [] ए) - यह कैसे कार्यान्वित किया जाता है?
- 3. यादृच्छिक() फ़ंक्शन के अंदर - यह कैसे कार्यान्वित किया जाता है?
- 4. std :: tuple कैसे कार्यान्वित किया जाता है?
- 5. एप्लिकेशन वर्चुअलाइजेशन कैसे कार्यान्वित किया जाता है?
- 6. pthread_join कैसे कार्यान्वित किया जाता है?
- 7. ओपनआईडी कैसे कार्यान्वित किया जाता है?
- 8. बिगडिसीमल कैसे कार्यान्वित किया जाता है?
- 9. लेक्सिकल स्कोपिंग कैसे कार्यान्वित किया जाता है?
- 10. "कॉन्स्ट" कैसे कार्यान्वित किया जाता है?
- 11. जावा विरासत - यह कीवर्ड
- 12. ऑब्जेक्ट.गेटहाशकोड() सीएलआर और जेवीएम में कैसे कार्यान्वित किया जाता है?
- 13. अनुकूलन! - यह क्या है? यह कैसे किया जाता है?
- 14. फाइल सिस्टम में fseek() कैसे कार्यान्वित किया जाता है?
- 15. इवेंट संचालित प्रोग्रामिंग कैसे कार्यान्वित किया जाता है?
- 16. आंतरिक तरीकों को कैसे कार्यान्वित किया जाता है
- 17. पायथन में __slots__ कैसे कार्यान्वित किया जाता है?
- 18. वामी रिकॉर्डर वास्तव में कैसे कार्यान्वित किया जाता है?
- 19. लिनक्स में सिस्टम कॉल कैसे कार्यान्वित किया जाता है?
- 20. Math.Pow() .NET Framework में कार्यान्वित कैसे किया जाता है?
- 21. फ़ोटोशॉप कटआउट फ़िल्टर कैसे कार्यान्वित किया जाता है?
- 22. आकार का ऑपरेटर सी ++ में कैसे कार्यान्वित किया जाता है?
- 23. मॉलोक और निःशुल्क कैसे कार्यान्वित किया जाता है?
- 24. malloc() को आंतरिक रूप से कैसे कार्यान्वित किया जाता है?
- 25. डब्ल्यूपीएफ की निर्भरता ऑब्जेक्ट कैसे कार्यान्वित किया जाता है?
- 26. म्यूटेक्स और लॉक संरचनाओं को कैसे कार्यान्वित किया जाता है?
- 27. जावास्क्रिप्ट पैकेज कीवर्ड का उपयोग किस लिए किया जाता है?
- 28. टाइपिड कीवर्ड खराब डिज़ाइन का उपयोग क्यों किया जाता है?
- 29. कैसे खारिज करें पता करेंModalViewControllerAnimated शुरू किया जाता है और यह भी किया जाता है?
- 30. पाइथन कीवर्ड "साथ" के लिए क्या उपयोग किया जाता है?
यहाँ हम 'इस' के बारे में सबसे मिल सकता है। http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#251519 – kosa