नहीं! जावा प्रोग्राम को समाप्त करने के लिए आपको हमेशा System.exit(0)
पर कॉल करने की आवश्यकता नहीं है। यदि आपके कोड द्वारा उत्पन्न कोई गैर-डिमन थ्रेड नहीं है, तो एप्लिकेशन आपके मुख्य थ्रेड कार्य को समाप्त करने पर स्वचालित रूप से समाप्त हो जाएगा।
यदि आपकी मुख्य विधि के परिणामस्वरूप कुछ गैर-डिमन थ्रेड उत्पन्न होते हैं जो अभी भी कुछ प्रसंस्करण कर रहे हैं, जबकि आपकी मुख्य विधि अंत तक पहुंच गई है, तो एप्लिकेशन को तब तक समाप्त नहीं किया जाएगा जब तक कि उन धागे पूर्ण नहीं हो जाते। इस मामले में, यदि आप स्पष्ट रूप से System.exit(0)
पर कॉल करते हैं, तो आवेदन तुरंत आपके सभी धागे को मार देगा।
कृपया javadoc of Thread देखें जो विवरण का उल्लेख करता है।
यह भी देखें http://stackoverflow.com/questions/3715967/when-should-we-call-system-exit-in-java – Qwerky