JavaRush /Java Blog /Random-JA /レベル 32. レベルのトピックに関するインタビューの質問への回答
DefNeo
レベル 36

レベル 32. レベルのトピックに関するインタビューの質問への回答

Random-JA グループに公開済み
レベル 32. レベル - 1 のトピックに関するインタビューの質問への回答
  1. なぜ必要なのでしょうかRandomAccessFile?

    RandomAccessFileは Java IO API パッケージ内のクラスであり、これを使用すると、ファイルへの移動、読み取り、書き込みを自由に行うことができます。ファイルの既存の部分を置き換えることもできます。これはファイルの内容の更新、より正確にはファイルのフラグメントの更新について話しています。FileInputStreamこれはまたはでは実行できませんFileOutputStreamが、RandomAccessFileこの機能が得られます。

    リンク: RandomAccessFile とその機能

  2. 読み取り元のファイルがRandomAccessFile存在しない場合はどうなりますか?

    意思FileNotFoundException

  3. 書き込み先のファイルがRandomAccessFile存在しない場合はどうなりますか?

    新しいものを作成してそこに書き込みます。

  4. なぜクラスが必要なのでしょうかStringReader?

    Java.io.StringReader クラスは、ソースが文字列である文字ストリームです。

    ソースが文字列と呼ばれる文字のストリームを表します。

  5. なぜクラスが必要なのでしょうかStringWriter?

    public class StringWriter
    extends Writer

    出力を文字列バッファーに収集する文字ストリーム。これを使用して文字列を構築できます。

    StringWriter を閉じても効果はありません。このクラスのメソッドは、ストリームが閉じられた後に IOException を生成せずに呼び出すことができます。

    ストリームを文字列のバッファに収集する文字のストリーム。これを使用して文字列を作成できます。

  6. なぜクラスが必要なのでしょうかByteArrayStream?

    それで、ByteArrayInputStreamそしてByteArrayOutputStream

    これらのクラスは基本的にStringReaderとに似ています。 < code="">。 StringReader文字列 (String) から文字 (char) を読み取るだけですが、 ByteArrayInputStreamバイト配列 (ByteArray) からバイトを読み取ります。 <>

    StringWriter文字 (char) を文字列に書き込みますが、ByteArrayOutputStreamその中のバイト配列にバイトを書き込みます。それに書き込むとStringWriter、その中の文字列が長くなり、ByteArrayOutputStream内部配列に書き込むと、バイトも動的に拡張されました。

  7. なぜクラスが必要なのでしょうかPrintStream? 使用されている場所に名前を付けますか?

    このクラスは、PrintStream情報を読みやすい方法で表示するために考案されました。ほぼ完全にメソッドと で構成されていprintますprintln

  8. なぜ必要なのでしょうかDynamicProxy?

    Java には特別なクラス (java.lang.reflect.Proxy) があり、これを使用すると、別のクラスを作成しなくても、実行時に (動的に) オブジェクトを実際に構築できます。

  9. RMIはどのように機能しますか?

    RMI はリモート メソッド呼び出しの略です。言い換えると、RMI は、ある Java マシンのオブジェクトが、別の Java マシンのオブジェクトのメソッドを呼び出すことを可能にするメカニズムです。たとえそれらが別のコンピュータ、別の国、地球の反対側にあったとしてもです。

    ネットワーク上の他のマシンでコードを実行する従来のアプローチは、実装が面倒でエラーが発生しやすいため、混乱を招く可能性があります。この問題を考える最良の方法は、一部のオブジェクトが別のマシン上に存在し、これらのリモート オブジェクトにメッセージを送信し、あたかもローカル マシン上に存在するかのように結果を受信できると想定することです。この単純化は、まさにリモート メソッド呼び出し (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 (ошибки маршализации/демаршализации, передачи данных и другие возможные ошибки протокола);

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

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION