Points de connaissance de l'entrevue Java
1. Les fichiers Java sont compilés en fichiers de bytecode par JVM, c'est-à-dire des fichiers .class. Lorsque les fichiers de bytecode sont exécutés dans différents systèmes d'exploitation, le système d'exploitation convertit ensuite les fichiers de bytecode. dans des fichiers de bytecode. Les fichiers de code sont compilés en fichiers de code machine. Il s'agit de Java multiplateforme
2. Tout d'abord, précisons que le recyclage du GC de Java est entièrement automatique. Il n'existe pas d'API pertinente pour le recyclage manuel. Toutes les autorisations d'allocation de mémoire et de recyclage sont disponibles. la jvm et entre les mains du développeur. Il n'existe pas de moyen absolu de forcer le garbage collection, mais vous pouvez le faire comme ceci :
1) Pour les objets qui ne sont plus référencés, attribuez leurs références à null en temps opportun. manière. obj = null;
2) Si la mémoire est vraiment limitée, appelez la méthode System.gc () pour suggérer au ramasse-miettes de commencer à collecter les ordures et d'informer le GC de s'exécuter, mais la spécification du langage Java ne le fait pas garantir que le GC sera exécuté.
3. Valeur par défaut et plage de valeurs des types de base Java
Type entier octet (1 octet) court (2 octets) int (4 octets) long (8 octets)
Type de caractère char (2 octets)
Type à virgule flottante float (4 octets) double (8 octets)
4. Les valeurs du code ASCII des caractères communs sont les suivantes : la valeur du code ASCII d'un espace est 32 ; les valeurs du code ASCII des nombres 0 à 9 sont respectivement 48 à 57 la lettre majuscule « A » Les valeurs du code ASCII ; de "Z" sont respectivement de 65 à 90 ; les valeurs du code ASCII des lettres minuscules "a" à "z" sont respectivement de 97 à 122.
5. Les identifiants Java ont les règles de dénomination suivantes :
1) Il se compose de 26 lettres anglaises en majuscules et minuscules, de chiffres : 0-9, de symboles : _ $ ¥
2) L'identifiant doit commencer par les lettres, _, $.
3) Les identifiants ne peuvent pas être des mots-clés.
6, classes abstraites et interfaces
1) À propos des classes abstraites
Avant JDK 1.8, les droits d'accès par défaut des méthodes de classes abstraites étaient protégés
Lorsque JDK 1.8, l'autorisation d'accès par défaut des méthodes de classe abstraite devient celle par défaut
2) À propos de l'interface
Avant JDK 1.8, les méthodes de l'interface doivent être publiques
JDK Dans JDK 1.8, les méthodes de l'interface peuvent être publiques ou par défaut
Dans JDK 1.9, les méthodes de l'interface peuvent être privées
7. Boxing et déballage de la boîte
Le type de données de base est converti en classe d'empaquetage par boxing (tel que : int --> Integer).
La conversion d'une classe wrapper en un type de données de base est un déballage (comme : Integer --> int).
La classe wrapper est le type référence et le type de données de base est le type valeur.
Grâce aux opérations de boxing et de unboxing, un pont peut être construit entre les types valeur et les types référence. En d’autres termes, les types valeur et les types référence peuvent être facilement convertis les uns aux autres, le boxing et le unboxing peuvent examiner le système de manière uniforme et tout type de valeur peut finalement être traité comme un objet.
8, Sérialisation et désérialisation
Java n'instanciera pas les variables statiques et les variables modifiées de manière transitoire pendant la sérialisation, car statique représente les membres d'une classe et transitoire représente les données temporaires. est déclaré que ces deux types de données membres ne peuvent pas être sérialisés
9. Java a deux méthodes de transfert, le transfert de valeur et le transfert de référence. Les types de base et ceux créés de cette manière avec string str = "aaa"; sont tous passés par valeur. La création d'objets et les tableaux sont tous passés par référence, une attention particulière doit donc être portée lors du jugement des paramètres formels de la fonction.
10. Mécanisme de récupération de place Java
La récupération de place vise principalement à recycler la zone de tas, car la mémoire dans la zone de pile est libérée avec le thread. Le tas est divisé en trois zones : jeune génération, ancienne génération et génération permanente (zone méthode).
1) Jeune génération : Lorsqu'un objet est créé (nouveau), l'objet est généralement placé en Jeune (sauf pour certains objets qui occupent une mémoire relativement importante après un certain GC Mineur (recyclage de mémoire pour les jeunes). génération), il s'agit toujours des objets Live qui seront déplacés vers l'ancienne génération (certains détails de mouvement spécifiques sont omis).
2) Ancienne génération : Il s'agit de la jeune génération mentionnée ci-dessus déplacée et de quelques objets plus gros. Major GC (FullGC) est destiné à la collection de l'ancienne génération.
3) Génération permanente : elle stocke les constantes finales, les variables statiques et les pools de constantes.
11. Référence du package
Importer java.util.* ;
Peut accéder à toutes les classes du répertoire java/util, mais ne peut pas accéder au java/util sous-répertoire Toutes les classes sous
12. Les constructeurs ne peuvent pas être hérités et les constructeurs ne peuvent être appelés qu'explicitement ou implicitement. (Cela est vrai avec et sans ginseng)
13. Les fichiers sont divisés en fichiers texte et fichiers binaires. Les ordinateurs ne comprennent que le binaire, ce sont donc en fait différentes manières d'interpréter le binaire. Les fichiers texte sont des caractères affichés dans différents formats de codage, tels que Ascii, Unicode, etc. Les suffixes des fichiers texte dans la fenêtre incluent ".txt", ".log", les fichiers de code source de divers langages de programmation, etc. Les fichiers binaires sont documents texte. Vous ne pouvez pas lire les caractères tronqués lorsque vous les ouvrez. Tant que le fichier peut être ouvert avec du texte, il peut être considéré comme un fichier texte, mais le résultat affiché n'est pas celui que vous souhaitez. lu avec des applications spéciales, telles que ".png", ".bmp", etc., la plupart des fichiers de l'ordinateur sont toujours des fichiers binaires
14. try ne convient que pour gérer les exceptions d'exécution , try+catch convient à la gestion des exceptions d'exécution + des exceptions ordinaires. En d'autres termes, si vous utilisez uniquement try pour gérer les exceptions ordinaires sans utiliser catch, la compilation ne réussira pas, car le compilateur stipule de manière rigide que si des exceptions ordinaires sont interceptées, elles doivent être explicitement déclarées avec catch pour un traitement ultérieur. Il n'existe aucune disposition de ce type pour les exceptions d'exécution au moment de la compilation, donc catch peut être omis, et le compilateur le trouvera compréhensible si vous ajoutez catch.
15. Tuyaux
Pour les tuyaux, il existe les types suivants :
① Tuyaux ordinaires (TUYAU) : Il y a généralement deux restrictions, l'une est un seul travail , c'est-à-dire qu'il ne peut être transmis que dans un seul sens ; deuxièmement, le sang, qui est souvent utilisé entre les processus père-fils (ou entre les processus ayant des liens de sang).
②Stream pipe (s_pipe) : La première restriction mentionnée ci-dessus est supprimée et la transmission bidirectionnelle est obtenue.
③ Pipe nommée (name_pipe) : La deuxième restriction mentionnée ci-dessus est supprimée et la communication entre différents processus sans relation de sang est réalisée.
L'exigence est que la communication entre les différents serveurs doit être sous forme full-duplex, alors que le pipeline ne peut être qu'en semi-duplex. Bien qu'il puisse être bidirectionnel, il ne peut y avoir de transmission que dans un seul sens à la fois. time. La différence entre duplex et semi-duplex peut être comprise comme suit :
Tutoriel recommandé : Vidéo d'introduction à Java
Adresse originale : https://blog.csdn.net/qq_33945246/article/details/90040041
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4
