JavaRush /Blog Java /Random-VI /Cấp độ 32. Trả lời các câu hỏi phỏng vấn về chủ đề cấp độ...
DefNeo
Mức độ

Cấp độ 32. Trả lời các câu hỏi phỏng vấn về chủ đề cấp độ

Xuất bản trong nhóm
Cấp độ 32. Trả lời câu hỏi phỏng vấn về chủ đề cấp độ - 1
  1. Tại sao nó lại cần thiết RandomAccessFile?

    RandomAccessFilelà một lớp trong gói Java IO API, nó cho phép bạn điều hướng, đọc hoặc ghi vào tệp theo ý muốn. Bạn cũng có thể thay thế các phần hiện có của tệp; chúng ta đang nói về việc cập nhật nội dung của tệp hoặc chính xác hơn là cập nhật một đoạn của tệp. Điều này không thể được thực hiện với FileInputStreamor FileOutputStream, nhưng RandomAccessFilesẽ cung cấp cho bạn khả năng này.

    Liên kết: RandomAccessFile và các khả năng của nó

  2. Điều gì xảy ra nếu tập tin mà nó đọc RandomAccessFilekhông tồn tại?

    SẽFileNotFoundException

  3. Điều gì xảy ra nếu tập tin nơi nó ghi RandomAccessFilekhông tồn tại?

    Nó sẽ tạo một cái mới và viết nó vào nó.

  4. Tại sao chúng ta cần một lớp học StringReader?

    Lớp Java.io.StringReader là một luồng ký tự có nguồn là một chuỗi.

    Biểu thị một luồng ký tự có nguồn được gọi là chuỗi

  5. Tại sao chúng ta cần một lớp học StringWriter?

    public class StringWriter
    extends Writer

    Luồng ký tự thu thập đầu ra của nó trong bộ đệm chuỗi, sau đó có thể được sử dụng để xây dựng một chuỗi.

    Đóng StringWriter không có hiệu lực. Các phương thức trong lớp này có thể được gọi sau khi luồng đã bị đóng mà không tạo ra IOException.

    Một luồng ký tự thu thập luồng của nó vào một bộ đệm các chuỗi, sau đó có thể được sử dụng để tạo một chuỗi.

  6. Tại sao chúng ta cần một lớp học ByteArrayStream?

    Vậy sau ByteArrayInputStreamđó ByteArrayOutputStream.

    Các lớp này về cơ bản là tương tự StringReader < code="">. Nó chỉ StringReaderđọc các ký tự (char) từ một chuỗi (String), nhưng ByteArrayInputStreamđọc byte từ một mảng byte (ByteArray). <>

    StringWriterđã viết các ký tự (char) thành một chuỗi, nhưng ByteArrayOutputStreamghi byte vào một mảng byte bên trong nó. Khi ghi vào StringWriternó, chuỗi bên trong nó dài ra và khi ghi vào ByteArrayOutputStreammảng bên trong, byte cũng tự động mở rộng.

  7. Tại sao chúng ta cần một lớp học PrintStream? Kể tên những nơi nó được sử dụng?

    Lớp PrintStreamđược phát minh để hiển thị thông tin theo cách dễ đọc. Nó bao gồm gần như hoàn toàn các phương thức printprintln.

  8. Tại sao nó lại cần thiết DynamicProxy?

    Java có một lớp đặc biệt (java.lang.reflect.Proxy) mà bạn thực sự có thể xây dựng một đối tượng trong thời gian chạy (động) mà không cần tạo một lớp riêng cho nó.

  9. RMI hoạt động như thế nào?

    RMI là viết tắt của Gọi phương thức từ xa. Hay nói cách khác, RMI là một cơ chế cho phép một đối tượng trong một máy Java gọi các phương thức của một đối tượng trong một máy Java khác, ngay cả khi chúng ở trên các máy tính khác nhau, ở các quốc gia khác nhau, ở các phía khác nhau trên toàn cầu.

    Традиционный подход к выполнению codeа на других машинах, разнесенных по сети может смутить из-за своей нудной и склонной к ошибкам реализации. Лучший способ рассмотреть эту проблему состоит в предположении, что некоторые an objectы располагаются на другой машине, и что вы можете посылать messages этим удаленным an objectм и получать результат, How будто они располагаются на вашей локальной машине. Это упрощение в точности является тем, что позволяет делать Удаленный Вызов Методов (RMI) в Java.

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

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

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

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

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

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

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION