J'ai un programme java qui écoute un socket serveur à l'infini. En cas de sortie anormale de JVM via kill pid, qu'advient-il des ressources système dans ce cas, objet socket? Est-ce que les prises seront libérées ou verrouillées? Quelle est la meilleure façon de gérer le nettoyage des ressources système telles que les descripteurs de fichiers/connexion socket réseau/jdbc, en cas de sortie JVM anormale.Sortie anormale de la JVM - nettoyage des ressources système
Je connais enfin les finaliseurs, mais il y a une certaine quantité d'incertitude et de dégradation des performances en utilisant la finalisation.
Pls fournissent quelques idées
Toute possibilité de détecter le crash JVM et de prendre le contrôle du code dans lequel je peux nettoyer les prises ouvertes? Bien sûr, avec l'option finalizer. – user309281
Aussi laissez-moi savoir quel OS vous voulez dire, qui prendra soin de la fermeture automatique des ressources du système lors d'un crash de processus? Je cours mon application sous HP-UX 11.2. – user309281
@ user309281: Non, si la machine virtuelle Java tombe en panne, il est tout simplement impossible d'exécuter du code Java dans le processus de plantage. L'OS nettoiera après vous. Je pense que HP-UX sera robuste à cet égard. –