JavaRush /Blog Java /Random-FR /Niveau 32. Réponses aux questions d'entretien sur le suje...
DefNeo
Niveau 36

Niveau 32. Réponses aux questions d'entretien sur le sujet du niveau

Publié dans le groupe Random-FR
Niveau 32. Réponses aux questions d'entretien sur le thème du niveau - 1
  1. Pourquoi est-ce nécessaire RandomAccessFile?

    RandomAccessFileest une classe du package API Java IO, elle vous permet de naviguer, de lire ou d'écrire dans un fichier à votre guise. Vous pouvez également remplacer des parties existantes d'un fichier ; nous parlons de mettre à jour le contenu d'un fichier, ou plus précisément de mettre à jour un fragment de fichier. Cela ne peut pas être fait avec FileInputStreamou FileOutputStream, mais RandomAccessFilevous donnera cette capacité.

    Lien : RandomAccessFile et ses capacités

  2. Que se passe-t-il si le fichier à partir duquel il lit RandomAccessFilen'existe pas ?

    VolontéFileNotFoundException

  3. Que se passe-t-il si le fichier dans lequel il écrit RandomAccessFilen'existe pas ?

    Il en créera un nouveau et y écrira.

  4. Pourquoi avons-nous besoin d'un cours StringReader?

    La classe Java.io.StringReader est un flux de caractères dont la source est une chaîne.

    Représente un flux de caractères dont la source est appelée chaîne

  5. Pourquoi avons-nous besoin d'un cours StringWriter?

    public class StringWriter
    extends Writer

    Un flux de caractères qui collecte sa sortie dans un tampon de chaîne, qui peut ensuite être utilisé pour construire une chaîne.

    La fermeture d'un StringWriter n'a aucun effet. Les méthodes de cette classe peuvent être appelées après la fermeture du flux sans générer d'IOException.

    Un flux de caractères qui collecte son flux dans un tampon de chaînes, qui peut ensuite être utilisé pour créer une chaîne.

  6. Pourquoi avons-nous besoin d'un cours ByteArrayStream?

    Alors, ByteArrayInputStreamet ByteArrayOutputStream.

    Ces classes sont essentiellement similaires StringReaderet < code="">. Il lit uniquement StringReaderles caractères (char) d'une chaîne (String), mais ByteArrayInputStreamlit les octets d'un tableau d'octets (ByteArray). <>

    StringWritera écrit des caractères (char) dans une chaîne, mais ByteArrayOutputStreamécrit des octets dans un tableau d'octets à l'intérieur de celle-ci. Lors de l'écriture StringWriter, la chaîne à l'intérieur s'est allongée et lors de l'écriture dans ByteArrayOutputStreamson tableau interne, l'octet s'est également développé dynamiquement.

  7. Pourquoi avons-nous besoin d'un cours PrintStream? Nommer les endroits où il est utilisé ?

    La classe PrintStreama été inventée pour afficher les informations de manière lisible. Il se compose presque entièrement de méthodes printet println.

  8. Pourquoi est-ce nécessaire DynamicProxy?

    Java possède une classe spéciale (java.lang.reflect.Proxy) avec laquelle vous pouvez réellement construire un objet au moment de l'exécution (dynamiquement) sans créer de classe distincte pour celui-ci.

  9. Comment fonctionne le RMI ?

    RMI signifie Invocation de méthode à distance. En d’autres termes, RMI est un mécanisme qui permet à un objet d’une machine Java d’appeler les méthodes d’un objet d’une autre machine Java, même s’ils se trouvent sur des ordinateurs différents, dans différents pays, aux quatre coins du monde.

    L'approche traditionnelle consistant à exécuter du code sur d'autres machines à travers un réseau peut prêter à confusion en raison de sa mise en œuvre fastidieuse et sujette aux erreurs. La meilleure façon de réfléchir à ce problème est de supposer que certains objets se trouvent sur une autre machine et que vous pouvez envoyer des messages à ces objets distants et recevoir le résultat comme s'ils se trouvaient sur votre machine locale. Cette simplification est exactement ce que l’invocation de méthode à distance (RMI) vous permet de faire en Java.

    Voici un article sur la création de votre propre implémentation RMI : Remote Method Invocation (RMI)

  10. Quels types d’objets peuvent être transférés via RMI ?

    Les objets doivent implémenter une interfaceSerializable

    L'invocation de méthode distante est un mécanisme qui permet d'appeler une méthode sur un objet distant. Selon lui, toutes les opérations de préparation et de transmission de données sont encapsulées dans une méthode appelée de l'objet stub client. L'appel de méthode lui-même n'est pas différent de l'appel d'une méthode sur un objet local normal, à quelques exceptions près :

    • les objets locaux sont passés par valeur (copies) ;
    • lors du transfert d'un Remoteobjet distant ( ), s'il est exporté, le stub de cet objet est transféré ;
    • les objets passés doivent êtreSerializable ;
    • en plus de toutes les autres situations exceptionnelles, lors de l'appel d'une méthode distante, une exception peut être levée RemoteException(erreurs de marshalisation/démarshalisation, erreurs de transfert de données et autres erreurs de protocole possibles) ;

    Il convient également de noter que lors de l'appel d'une méthode, nous travaillons avec une interface distante, et non avec une classe distante.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION