Maison  >  Article  >  Java  >  Collection de questions d'entretien Java classiques (3)

Collection de questions d'entretien Java classiques (3)

王林
王林avant
2020-07-07 16:54:262144parcourir

Collection de questions d'entretien Java classiques (3)

1. La différence entre String, StringBuffer et StringBuilder

(tutoriels associés recommandés : questions d'entretien Java)

La valeur de String est immuable, ce qui entraîne la génération d'un nouvel objet String à chaque fois qu'une opération est effectuée sur String.

Les objets des classes StringBuffer et StringBuilder peuvent être modifiés plusieurs fois sans générer de nouveaux objets inutilisés

La vitesse est : StringBuilder > StringBuffer > la classe StringBuilder et StringBuffer est que les méthodes de StringBuilder ne sont pas thread-safe.

Afficher les images :

Collection de questions dentretien Java classiques (3) (Tutoriel recommandé :

Programme d'entrée Java

)

2. Tous Toutes les classes héritent de la classe d'objet. Quelles sont les sous-classes directes de la classe d'objet que vous avez utilisées ?

    Booléen
  • Caractère
  • Classe
  • ClassLoader
  • Compilateur
  • Enum
  • Chaîne
  • Système
  • Thread
  • Méthodes courantes de la classe Object

    toString ();
  • égal à();
  • hashCode();
3. Que sont les génériques, comment sont-ils utilisés et quels sont leurs avantages ?

est un type spécial qui reporte le travail de clarification du type jusqu'au moment où l'objet est créé ou que la méthode est appelée.

Type paramétré, passez le type en paramètre. Il s'agit d'un modèle de conception qui prend très bien en charge le polymorphisme, comme divers conteneurs.

Avantages :

Avance les problèmes d'exécution jusqu'à la période de compilation, évitant ainsi la conversion de type forcée.

4. Pourquoi SerialversionUID doit-il être utilisé pour la sérialisation des objets Java ?

1. Pourquoi sérialiser des objets

    Le processus de conversion d'objets en séquences d'octets est appelé sérialisation d'objets
  • Le processus de restauration d'une séquence d'octets dans un objet est appelé désérialisation d'objet
  • 2. Il existe deux utilisations principales de la sérialisation d'objet :

(1) Enregistrez définitivement l'octet. séquence de l'objet sur le disque dur, généralement dans un fichier

(2) Transmettre la séquence d'octets de l'objet sur le réseau ;

3. Pourquoi utiliser SerialversionUID

Si l'utilisateur ne déclare pas lui-même un SerialVersionUID, l'interface générera un SerialVersionUID par défaut si un nouveau champ est ajouté à l'objet, le SerialversionUID alloué. par le système changera, entraînant une exception de désérialisation.

(Tutoriel vidéo recommandé :

Tutoriel vidéo Java

)

5 Avantages et inconvénients de la réflexion

1. 🎜>

Reflection améliore la flexibilité et l'évolutivité des programmes Java, réduit le couplage et améliore les capacités d'adaptation. Il permet aux programmes de créer et de contrôler des objets de n'importe quelle classe sans augmenter la classe cible codée en dur.

Reflection n'est pas disponible dans d'autres langages couramment utilisés, tels que C, C++, Fortran ou Pascal.

La technologie de réflexion Java a un large éventail d'applications, telles que les tests de logiciels, les JavaBeans, etc.

De nombreux frameworks open source populaires tels que Struts, Hibernate et Spring utilisent cette technologie dans leur implémentation.

2. Inconvénients

(1) Performance d'abord Frais généraux de performance

La réflexion inclut certains types dynamiques, de sorte que la JVM ne peut pas optimiser ces codes. Par conséquent, les opérations réflexives sont beaucoup moins efficaces que les opérations non réflexives. Nous devons éviter d'utiliser la réflexion dans du code fréquemment exécuté ou dans des programmes ayant des exigences de performances élevées.

(2) Restrictions de sécurité

L'utilisation de la technologie de réflexion nécessite que le programme s'exécute dans un environnement sans restrictions de sécurité. Cela constitue un problème si un programme doit s'exécuter dans un environnement à sécurité restreinte, tel qu'une applet. .

(3) Exposition des éléments internes

Étant donné que la réflexion permet au code d'effectuer certaines opérations qui ne sont pas autorisées dans des circonstances normales (telles que l'accès à des propriétés et des méthodes privées), l'utilisation de la réflexion peut conduire à des conséquences inattendues. effets. Le code comporte des erreurs fonctionnelles qui réduisent la portabilité. Le code réfléchissant brise l'abstraction, donc lorsque la plateforme change, le comportement du code peut également changer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer