Maison Java JavaQuestions d'entretien Dix questions d'entretien Java courantes partagées

Dix questions d'entretien Java courantes partagées

Oct 12, 2020 pm 05:54 PM
java Questions d'entrevue

Dix questions d'entretien Java courantes partagées

Tout d'abord, parlons de la différence entre final,finalement et finaliser

(plus de recommandations de questions d'entretien : questions et réponses d'entretien Java)

modificateur final ? (mot clé) Si une classe est déclarée finale, cela signifie qu'elle ne peut plus dériver de nouvelles sous-classes et ne peut pas être héritée en tant que classe parent. Une classe ne peut donc pas être déclarée à la fois abstraite et finale. Déclarez les variables ou les méthodes comme finales pour vous assurer qu'elles ne seront pas modifiées pendant l'utilisation. Les variables déclarées comme finales doivent recevoir une valeur initiale lors de leur déclaration, et ne peuvent être lues que dans les références ultérieures et ne peuvent pas être modifiées. Les méthodes déclarées comme final peuvent également être utilisées uniquement et ne peuvent pas être surchargées

finally ? Fournir un bloc final pour effectuer des opérations de nettoyage lors de la gestion des exceptions. Si une exception est levée, la clause catch correspondante est exécutée et le contrôle passe au bloc final (s'il y en a un).

finaliser le nom de la méthode. La technologie Java permet d'utiliser la méthode finalize() pour effectuer le nettoyage nécessaire avant que le garbage collector n'efface l'objet de la mémoire. Cette méthode est appelée par le garbage collector sur cet objet lorsqu'il détermine que l'objet n'est pas référencé. Il est défini dans la classe Object, donc toutes les classes en héritent. Les sous-classes remplacent la méthode finalize() pour organiser les ressources système ou effectuer d'autres travaux de nettoyage. La méthode finalize() est appelée sur l'objet avant que le garbage collector ne le supprime.

Deuxièmement, la différence entre HashMap et Hashtable.

appartiennent tous aux classes d'interface Map, qui implémentent le mappage de clés uniques à des valeurs spécifiques.
La classe HashMap ne classe ni ne trie. Il autorise une clé nulle et plusieurs valeurs nulles.
Hashtable est similaire à HashMap, mais n'autorise pas les clés nulles et les valeurs nulles. Il est également plus lent que HashMap car il est synchrone.

Troisièmement, String s = new String("xyz"); Combien d'objets String sont créés ?

Deux objets, l'un est "xyx" et l'autre pointe vers "xyx" Référence objet s.

Quatrièmement, quelle est la différence entre sleep() et wait() ?

La méthode sleep() est une méthode pour arrêter le thread pendant un certain temps. Une fois l’intervalle de veille expiré, le thread ne reprend pas nécessairement son exécution immédiatement. En effet, à ce moment-là, d'autres threads peuvent être en cours d'exécution et ne pas être programmés pour abandonner l'exécution, à moins que (a) le thread "de réveil" ait une priorité plus élevée (b) le thread en cours d'exécution soit bloqué pour d'autres raisons.

wait() est le moment où les threads interagissent. Si le thread émet un appel wait() à un objet de synchronisation x, le thread suspendra l'exécution et l'objet appelé entrera dans l'état d'attente jusqu'à ce qu'il soit réveillé ou en attente. le temps expire.

Cinquièmement, qu'est-ce qui ne va pas avec le court s1 = 1 ; le court s1 = 1 ; qu'est-ce qui ne va pas ?

le court s1 = 1 ; s1 + 1 ; Faux, s1 est de type short, s1+1 est de type int et ne peut pas être explicitement converti en type short. Il peut être modifié comme s1 =(short)(s1 + 1). court s1 = 1 ; s1 += 1 est correct.

(Tutoriel recommandé : cours java )

Sixièmement, la différence entre Overload et Override. Les méthodes surchargées peuvent-elles changer le type de valeur de retour ? Le remplacement et la surcharge des méthodes

sont différentes manifestations du polymorphisme Java. La substitution est une manifestation du polymorphisme entre les classes parentes et les sous-classes, et la surcharge est une manifestation du polymorphisme dans une classe. Si une méthode définie dans une sous-classe a le même nom et les mêmes paramètres que sa classe parent, on dit que la méthode est prioritaire. Lorsqu'un objet d'une sous-classe utilise cette méthode, il appellera la définition de la sous-classe. Pour cela, la définition de la classe parent semble être "protégée". Si plusieurs méthodes portant le même nom sont définies dans une classe et qu’elles ont un nombre différent de paramètres ou des types de paramètres différents, on parle de surcharge de méthode. Une méthode surchargée peut modifier le type de valeur de retour.

Septièmement, les éléments de l'ensemble ne peuvent pas être répétés, alors quelle méthode est utilisée pour distinguer s'ils sont répétés ou non ? >

Définir Les éléments de ne peuvent pas être répétés, utilisez donc la méthode iterator() pour distinguer s'ils sont répétés ou non. equals() détermine si deux ensembles sont égaux.

Les méthodes equals() et == déterminent si la valeur de référence pointe vers le même objet. equals() est remplacée dans la classe afin de renvoyer une valeur vraie lorsque le contenu et les types des deux objets distincts correspondent.

Huitièmement, quelle est la différence entre une erreur et une exception.

L'erreur représente un problème sérieux lorsque la récupération n'est pas impossible mais difficile. Par exemple, débordement de mémoire. Il est impossible d’attendre d’un programme qu’il puisse gérer une telle situation.

l'exception représente un problème de conception ou de mise en œuvre. Autrement dit, cela représente une situation qui ne se produirait jamais si le programme fonctionnait normalement.

Neuvièmement, donnez-moi une exception d'exécution que vous voyez le plus souvent.

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

Dixièmement, les éléments de l'ensemble ne peuvent pas être répétés, alors quelle méthode est utilisée pour distinguer s'ils sont répétés ? Est-ce == ou égal () ? Quelle est la différence entre eux ? 🎜> Les éléments du Set ne peuvent pas être répétés, utilisez donc la méthode iterator() pour distinguer s'ils sont répétés ou non. equals() détermine si deux ensembles sont égaux.

Les méthodes equals() et == déterminent si la valeur de référence pointe vers le même objet. equals() est remplacée dans la classe afin de renvoyer une valeur vraie lorsque le contenu et les types des deux objets distincts correspondent.

Recommandations associées : Tutoriel d'introduction à Java

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment forcer les pages Web à l'échelle par UC Browser_UC Browser à mise à l'échelle des pages Web par UC Browser Comment forcer les pages Web à l'échelle par UC Browser_UC Browser à mise à l'échelle des pages Web par UC Browser Sep 24, 2025 pm 04:54 PM

Tout d'abord, activez la fonction de mise à l'échelle intégrée du navigateur UC, accédez aux paramètres → Paramètres parcourir → Police et composition ou mise à l'échelle de la page, et sélectionnez un rapport préréglé ou un pourcentage personnalisé; Deuxièmement, vous pouvez forcer la taille de l'affichage de la page en ouvrant ou en pinçant des gestes avec deux doigts; Pour les pages Web qui restreignent la mise à l'échelle, vous pouvez demander la version de bureau du site Web pour déverrouiller les restrictions; Les utilisateurs avancés peuvent également modifier les attributs de la fenêtre en exécutant le code JavaScript dans la barre d'adresse pour obtenir un effet de mise à l'échelle forcé plus flexible.

Comment obtenir le nom de la méthode d'appel en Java? Comment obtenir le nom de la méthode d'appel en Java? Sep 24, 2025 am 06:41 AM

La réponse consiste à utiliser Thread.currentThread (). GetStackTrace () pour obtenir le nom de la méthode d'appel, et obtenir le nom Somemethod de l'appel un autre Method via l'index 2. Étant donné que l'index 0 est GetStackTrace, 1 est la méthode actuelle, et 2 est l'appelant, l'exemple de production est "appelé paryMethod: Somemethod", qui peut également être mis en œuvre par le jetable, mais que l'attention doit être accordée à la performance, à l'obfrégation.

Comment utiliser la classe facultative pour éviter NullPointerException en Java? Comment utiliser la classe facultative pour éviter NullPointerException en Java? Sep 25, 2025 am 06:04 AM

La classe facultative est utilisée pour gérer en toute sécurité les valeurs qui peuvent être nuls, en évitant les exceptions de pointeur nul. 1. Créez une instance en utilisant Facultatif.Ofnullable pour gérer les valeurs nulles. 2. Vérifiez et accédez aux valeurs via une sécurité ISPRESENT ou IFPRESENT pour éviter un appel direct pour provoquer des exceptions. 3. Utilisez Orelse et Orelseget pour fournir des valeurs par défaut, ou utilisez OrelSethrow pour lancer une exception personnalisée. 4. Convertir ou filtrer les valeurs par le biais des opérations de la chaîne de carte et de filtre pour améliorer la lisibilité du code et la robustesse.

Comment obtenir la classe d'un objet en Java? Comment obtenir la classe d'un objet en Java? Sep 26, 2025 am 04:58 AM

Utilisez la méthode getClass () pour obtenir la classe d'exécution de l'objet, tel que str.getClass () pour renvoyer l'objet de classe; Pour les types, vous pouvez utiliser directement la syntaxe String.class. La classe de classe fournit des méthodes telles que getName (), getIMPLename () pour obtenir des informations de classe, telles que num.getClass (). GetIMPlename () pour sortir entier.

Comment utiliser la méthode de remplacement sur une chaîne en Java? Comment utiliser la méthode de remplacement sur une chaîne en Java? Sep 24, 2025 am 02:53 AM

Il y a des émétères dethodinjavareTurnsanewstringwithallocurrences of spécifiedCharActersorseencesRlaced.ithastwoforms: OneForReplacingSingleCharactersandanotherForsubString

Comment créer un tableau multidimensionnel en Java? Comment créer un tableau multidimensionnel en Java? Sep 25, 2025 am 05:37 AM

Atwo-dimensionalArrayinjavaisanArrayofarrays, déclaréwithtwobrackets, comment [] [] matrix, et canneinitializedwithvaluesorusingNew; Forexample, in [] [] matrix = {{1,2}, {3,4}}; Createsa3x2Matrix.

Comment utiliser le mot clé volatile pour la sécurité des threads en Java? Comment utiliser le mot clé volatile pour la sécurité des threads en Java? Sep 24, 2025 am 05:15 AM

Volatile garantit la visibilité des variables dans un environnement multithread et convient aux bits de drapeau simples tels que les commutateurs booléens, mais ne s'applique pas aux opérations composées; Il interdit les instructions de réorganiser et établit des relations avant de se produire, garantissant que les opérations d'écriture sont immédiatement visibles par d'autres threads, mais ne fournissent pas d'atomicité et doivent être manipulées avec des classes ou des verrous atomiques.

Comment obtenir le répertoire de travail actuel en Java? Comment obtenir le répertoire de travail actuel en Java? Sep 26, 2025 am 05:51 AM

ThecurrentworkingDirectoryInjavacanBeObtedUsingSystem.getProperty ("user.dir"), qui araturnSthesLoUtepathwhereTheProgramwaslaunched; Alternativement, Paths.get (""). TOABSOLUTEPATH ().

See all articles