Pas de destruction explicite d’objets en Java

Je tiens à préciser que je n’y connais pas grand chose à la programmation Java. Mais je revendique et revendiquerai toujours le droit de me mêler de ce qui ne me regarde pas. J’espère qu’un commentateur avisé dans les techniques de programmation Java me démontrera le contraire de ce que j’avance dans ce texte de façon péremptoire ! ;+)


A la manière d’un philosophe bouddhiste qui nous rappellerait l’évidence selon laquelle « Qui avale une noix de coco doit faire confiance à son anus« , l’informaticien sceptique ne peut que s’interroger sur la foi aveugle que les programmeurs Java – ou C# – ont dans le Garbage Collector. Les fuites mémoire sous Java – ou C# – ne seraient donc que l’œuvre d’esprits malfaisants (mal faisant ???).

Java ne proposerait donc pas de « méthode » pour la destruction explicite d’un objet, en dehors d’un Finalize – qui ne concerne pas l’objet lui-même – dans lequel vous avez intérêt à ne pas oublier de « nettoyer » l’utilisation de ressources externes que la JVM est incapable de libérer par nature (ouverture de sockets ou de fichiers par exemple). L’affectation de la valeur nulle à un objet ne libère pas la mémoire pour autant et n’appelle en aucun cas la méthode Finalize. Vous pouvez toujours essayer d’invoquer le Garbage Collector, qui a hélas le défaut d’être global  à la JVM ! Mais je ne suis pas sûr que cela soit réellement utile.

Vous comprendrez aisément pourquoi je ne serai jamais tenté par Java.

La classe MonMessage

Pour faire le test, je compile le fichier MonMessage.java : javac MonMessage.java. Il faut installer la JDK.

public class MonMessage 
{
    public void Afficher(String strMsg)
    {
            System.out.println(strMsg);
    }
    public void finalize()
    {
            System.out.println("My only friend, the end");
    }
}

La classe HelloTheWorld

Je compile également le fichier HelloTheWorld.java. Je l’exécute grâce à java HelloTheWorld.java.

public class HelloTheWorld 
{

    public static void main(String[] args) 
    {
        MonMessage oMonMessage=new MonMessage();
        oMonMessage.Afficher("Hello the World");
        oMonMessage=null;
        System.gc();
    }
}

Développement / ,

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos