SORU
15 EYLÜL 2010, ÇARŞAMBA


Sistem arayalım.Java çıkış

Java veya aşağıdaki kodu System.exit(0) olmadan fark Nedir?

public class TestExit
{      
    public static void main(String[] args)
    { 
        System.out.println("hello world");

        System.exit(0);  // is it necessary? And when it must be called? 
    }      
}

document diyor ki: "Bu yöntem hiçbir zaman normal olarak döner." Bu ne anlama geliyor?

CEVAP
15 EYLÜL 2010, ÇARŞAMBA


System.exit() program sonlandırılıyor önce shutdown hooks çalıştırmak için kullanılabilir. Bu programın tüm bölümleri (ve olmamalıdır) birbirinden haberdar olmasını istemediğim büyük programlar, kapatma işlemek için uygun bir yoldur. O zaman, eğer birileri ayrılmak istiyor, o sadece Ara System.exit() ve kapatma kanca (eğer düzgün kurmak) bakım yaparken gerekli tüm kapatma törenleri gibi dosyaları kapatma, serbest kaynaklar vb.

"Bu yöntem hiç normal gelirler" yöntemi dönmeyeceğim anlamına gelir; bir konu oraya giderse, geri gelmez..

Belki daha yaygın, bir programdan çıkmak için başka bir yol sadece main yöntemi sonuna ulaşmak için. Ama sonra başka bir araç kapatma kanca () non-daemon bütün konuları kapatmak ve diğer kaynaklar, sadece tek bir konu var sürece) serbest bırakmak için.

Nedense kapatma kanca gözardı ve yanlış anlaşılmış bir mekanizma gibi görünüyor, ve insanların özel özel kesmek her türlü tekerlek programlarına çıkmak için yeniden icat edilir. Kapatma kanca kullanarak öneririm; zaten kullanacağınız tüm standart Runtime.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • David Wills

    David Wills

    31 Aralık 2007
  • TheRightTire

    TheRightTire

    14 EKİM 2009