Articles of hashcode

Comment la JVM garantit-elle que System.identityHashCode () ne changera jamais?

En général, l’implémentation par défaut de Object.hashCode() est une fonction de l’adresse allouée de l’object en mémoire (bien que cela ne soit pas obligatoire pour JLS ). Étant donné que la machine virtuelle dérive les objects en mémoire, pourquoi la valeur renvoyée par System.identityHashCode() ne change-t-elle jamais pendant la durée de vie de l’object? S’il […]

Pourquoi le hashCode () de Ssortingng ne cache-t-il pas 0?

J’ai remarqué dans le code source Java 6 de Ssortingng que hashCode ne cache que des valeurs autres que 0. La différence de performances est illustrée par l’extrait de code suivant: public class Main{ static void test(Ssortingng s) { long start = System.currentTimeMillis(); for (int i = 0; i < 10000000; i++) { s.hashCode(); } […]

Comment les égaux et le hashcode doivent-ils être mis en œuvre lors de l’utilisation de JPA et Hibernate?

Comment les classes de modèle doivent-elles être égales et le hashcode doit-il être implémenté dans Hibernate? Quels sont les pièges courants? L’implémentation par défaut est-elle suffisante dans la plupart des cas? Est-il judicieux d’utiliser des clés professionnelles? Il me semble que c’est assez difficile de travailler correctement dans toutes les situations, lorsque la récupération paresseuse, […]

Comment les valeurs par défaut .equals et .hashCode fonctionneront-elles pour mes classes?

Dis que j’ai ma propre classe public class MyObj { /* … */ } Il a des atsortingbuts et des méthodes. Il NE DOIT PAS implémenter des équivalents, NE PAS implémenter hashCode. Une fois que nous appelons les égaux et le hashCode, quelles sont les implémentations par défaut? De la classe d’objects? Et quels sont-ils? […]

Identifiant d’object unique .NET

Est-il possible d’obtenir un identifiant unique d’une instance? GetHashCode() est identique pour les deux références pointant vers la même instance. Cependant, deux instances différentes peuvent (assez facilement) obtenir le même code de hachage: Hashtable hashCodesSeen = new Hashtable(); LinkedList l = new LinkedList(); int n = 0; while (true) { object o = new object(); […]

Boolean.hashCode ()

La méthode hashCode () de la classe Boolean est implémentée comme ceci: public int hashCode() { return value ? 1231 : 1237; } Pourquoi utilise-t-il 1231 et 1237? Pourquoi pas autre chose?

Adresse mémoire des variables en Java

S’il vous plaît regardez la photo ci-dessous. Lorsque nous créons un object en Java avec un nouveau mot-clé, nous obtenons une adresse mémoire du système d’exploitation. Lorsque nous écrivons out.println(objName) nous pouvons voir une chaîne “spéciale” en sortie. Mes questions sont: Quelle est cette sortie? Si c’est l’adresse de mémoire qui nous a été donnée […]

Quelle est l’utilisation de hashCode en Java?

En Java, obj.hashCode() renvoie une valeur. A quoi sert ce code de hachage en programmation?

Consistance de hashCode () sur une chaîne Java

La valeur hashCode d’une chaîne Java est calculée comme suit: (Ssortingng.hashCode () ): s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1] Y a-t-il des circonstances (par exemple, version JVM, fournisseur, etc.) sous lesquelles l’expression suivante sera évaluée comme étant fausse? boolean expression = “This is a Java ssortingng”.hashCode() == 586653468 Mise à jour n ° 1: […]

Directives GetHashCode en C #

J’ai lu dans le livre Essential C # 3.0 et .NET 3.5 que: Les retours de GetHashCode () sur la durée de vie d’un object particulier doivent être constants (même valeur), même si les données de l’object changent. Dans de nombreux cas, vous devez mettre en cache la méthode return pour appliquer cela. Est-ce une […]