JavaRush /Blog Java /Random-PL /Poziom 32. Odpowiedzi na pytania podczas rozmowy kwalifik...
DefNeo
Poziom 36

Poziom 32. Odpowiedzi na pytania podczas rozmowy kwalifikacyjnej na temat poziomu

Opublikowano w grupie Random-PL
Poziom 32. Odpowiedzi na pytania z rozmowy kwalifikacyjnej na temat poziomu - 1
  1. Dlaczego jest to potrzebne RandomAccessFile?

    RandomAccessFileto klasa w pakiecie Java IO API, która umożliwia nawigację, odczytywanie i zapisywanie pliku według własnego uznania. Można także podmienić istniejące części pliku, mówimy o aktualizacji zawartości pliku, a dokładniej o aktualizacji fragmentu pliku. Nie można tego zrobić za pomocą FileInputStreamlub FileOutputStream, ale RandomAccessFileda ci to możliwość.

    Link: RandomAccessFile i jego możliwości

  2. Co się stanie, jeśli plik, z którego odczytuje, RandomAccessFilenie istnieje?

    BędzieFileNotFoundException

  3. Co się stanie, jeśli plik, w którym zapisuje, RandomAccessFilenie istnieje?

    Utworzy nowy i zapisze go do niego.

  4. Dlaczego potrzebujemy zajęć StringReader?

    Klasa Java.io.StringReader to strumień znaków, którego źródłem jest ciąg znaków.

    Reprezentuje strumień znaków, którego źródło nazywa się ciągiem

  5. Dlaczego potrzebujemy zajęć StringWriter?

    public class StringWriter
    extends Writer

    Strumień znaków gromadzący dane wyjściowe w buforze ciągów znaków, którego następnie można użyć do skonstruowania ciągu znaków.

    Zamknięcie StringWriter nie ma żadnego efektu. Metody w tej klasie można wywołać po zamknięciu strumienia bez generowania wyjątku IOException.

    Strumień znaków gromadzący swój strumień w buforze ciągów, który następnie można wykorzystać do utworzenia ciągu.

  6. Dlaczego potrzebujemy zajęć ByteArrayStream?

    Tak ByteArrayInputStreami ByteArrayOutputStream.

    Klasy te są zasadniczo podobne do StringReaderi < code="">. Odczytuje tylko StringReaderznaki (char) z ciągu znaków (String), ale ByteArrayInputStreamodczytuje bajty z tablicy bajtów (ByteArray). <>

    StringWriterzapisał znaki (char) w łańcuchu, ale ByteArrayOutputStreamzapisał bajty w tablicy bajtów znajdującej się w nim. Podczas zapisywania do StringWriterniego znajdujący się w nim ciąg znaków wydłużał się, a podczas zapisywania do ByteArrayOutputStreamwewnętrznej tablicy bajt również dynamicznie się rozszerzał.

  7. Dlaczego potrzebujemy zajęć PrintStream? Podaj nazwy miejsc, w których jest używany?

    Klasa PrintStreamzostała wymyślona, ​​aby wyświetlać informacje w czytelny sposób. Prawie w całości składa się z metod printi println.

  8. Dlaczego jest to potrzebne DynamicProxy?

    Java ma specjalną klasę (java.lang.reflect.Proxy), za pomocą której możesz faktycznie skonstruować obiekt w czasie wykonywania (dynamicznie) bez tworzenia dla niego osobnej klasy.

  9. Jak działa RMI?

    RMI oznacza zdalne wywołanie metody. Innymi słowy, RMI to mechanizm, który pozwala obiektowi na jednej maszynie Java wywoływać metody obiektu na innej maszynie Java, nawet jeśli znajdują się one na różnych komputerach, w różnych krajach, po różnych stronach globu.

    Традиционный подход к выполнению kodа на других машинах, разнесенных по сети может смутить из-за своей нудной и склонной к ошибкам реализации. Лучший способ рассмотреть эту проблему состоит в предположении, что некоторые obiektы располагаются на другой машине, и что вы можете посылать wiadomości этим удаленным obiektам и получать результат, Jak будто они располагаются на вашей локальной машине. Это упрощение в точности является тем, что позволяет делать Удаленный Вызов Методов (RMI) в Java.

    Вот статья по созданию собственной реализации RMI: Удаленный вызов методов (RMI)

  10. Объекты Jakих типов можно передавать по RMI?

    Объекты должны имплементировать интерфейс Serializable

    Remote method Invocation — механизм, который позволяет вызывать метод удалённого obiektа. Согласно ему, все операции по подготовке и передаче данных инкапсулируются в вызываемом методе клиентского obiektа-заглушки (stub). Сам же вызов метода ничем не отличается от вызова метода обычного локального obiektа, за небольшим исключением:

    • локальные obiektы передаются по значению (копии);
    • при передаче удалённого (Remote) obiektа, если он экспортирован, передаётся stub этого obiektа;
    • передаваемые obiektы должны быть Serializable;
    • кроме всех прочих исключительных ситуаций, при вызове удалённого метода может возбуждаться исключение RemoteException (ошибки маршализации/демаршализации, передачи данных и другие возможные ошибки протокола);

    Так же нужно отметить, что при вызове метода мы работаем с удалённым интерфейсом, а не с удалённым классом.

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