Pour trouver les méthodes et les classes obsolètes, faites ce que le texte cité indique. Vous compilez avec le commutateur "-deprecation" et les méthodes/classes incriminées seront affichées comme des messages d'avertissement de compilation. (Si vous utilisez un IDE, les avertissements de désapprobation seront activés/désactivés d'une autre manière.)
Si vous demandez réellement comment le compilateur sait qu'une méthode ou une classe est obsolète, la réponse est qu'une classe ou La méthode est marquée comme obsolète en ajoutant une balise "@deprecated" dans le commentaire javadoc correspondant. Le compilateur java note ceci, et définit un attribut dans le fichier bytecode quand il compile la classe. Ensuite, lorsque vous essayez d'utiliser la classe/méthode dans votre code, le compilateur java lit les bytecodes, note l'attribut et affiche le message d'avertissement.
Obsolescence est conçu comme une forte indication pour le développeur que la méthode ou la classe en question ne devraient plus être utilisés. Une classe ou une méthode obsolète comporte généralement des failles (majeures ou mineures) qui ne peuvent pas être corrigées sans casser le code existant. Au lieu de cela, un remplacement non compatible a été implémenté qui vous oblige à apporter des modifications à votre code source.
En théorie, les classes et les méthodes obsolètes peuvent être supprimées dans les versions ultérieures. Alors que Sun le fait rarement (voire jamais), les développeurs de bibliothèques tierces sont plus disposés à supprimer les méthodes obsolètes lors du nettoyage de leurs API.
L'indicateur '-deprecated' n'est pas valide et, lorsqu'il est utilisé, provoque une erreur fatale: un indicateur invalide: -deprecated'. Le drapeau correct serait '-deprecation' comme mentionné dans la question ci-dessus. Note: Je ne peux pas éditer la réponse car le delta est <6 caractères. – user667