JavaRush /Java Blog /Random-ID /Level 32. Jawaban pertanyaan wawancara pada topik level
DefNeo
Level 36

Level 32. Jawaban pertanyaan wawancara pada topik level

Dipublikasikan di grup Random-ID
Level 32. Jawaban pertanyaan wawancara tentang topik level - 1
  1. Mengapa itu diperlukan RandomAccessFile?

    RandomAccessFileadalah kelas dalam paket Java IO API, yang memungkinkan Anda menavigasi, membaca, atau menulis ke file sesuka Anda. Anda juga dapat mengganti bagian file yang ada; kita berbicara tentang memperbarui konten file, atau lebih tepatnya tentang memperbarui bagian file. Ini tidak dapat dilakukan dengan FileInputStreamatau FileOutputStream, tetapi RandomAccessFileakan memberi Anda kemampuan ini.

    Tautan: RandomAccessFile dan kemampuannya

  2. Apa yang terjadi jika file yang dibacanya RandomAccessFiletidak ada?

    AkanFileNotFoundException

  3. Apa yang terjadi jika file tempat penulisannya RandomAccessFiletidak ada?

    Ini akan membuat yang baru dan menuliskannya ke dalamnya.

  4. Mengapa kita memerlukan kelas StringReader?

    Kelas Java.io.StringReader adalah aliran karakter yang sumbernya adalah string.

    Mewakili aliran karakter yang sumbernya disebut string

  5. Mengapa kita memerlukan kelas StringWriter?

    public class StringWriter
    extends Writer

    Aliran karakter yang mengumpulkan keluarannya dalam buffer string, yang kemudian dapat digunakan untuk membuat string.

    Menutup StringWriter tidak berpengaruh. Metode di kelas ini dapat dipanggil setelah aliran ditutup tanpa menghasilkan IOException.

    Aliran karakter yang mengumpulkan alirannya ke dalam buffer string, yang kemudian dapat digunakan untuk membuat string.

  6. Mengapa kita memerlukan kelas ByteArrayStream?

    Jadi, ByteArrayInputStreamdan ByteArrayOutputStream.

    Kelas-kelas ini pada dasarnya mirip dengan StringReaderdan < code="">. Itu hanya StringReadermembaca karakter (char) dari string (String), tetapi ByteArrayInputStreammembaca byte dari array byte (ByteArray). <>

    StringWritermenulis karakter (char) ke dalam string, tetapi ByteArrayOutputStreammenulis byte ke dalam array byte di dalamnya. Saat menulis ke StringWriterdalamnya, string di dalamnya memanjang, dan saat menulis ke ByteArrayOutputStreamarray internalnya, byte juga meluas secara dinamis.

  7. Mengapa kita memerlukan kelas PrintStream? Sebutkan tempat penggunaannya?

    Kelas PrintStreamdiciptakan untuk menampilkan informasi dengan cara yang mudah dibaca. Hampir seluruhnya terdiri dari metode printdan println.

  8. Mengapa itu diperlukan DynamicProxy?

    Java memiliki kelas khusus (java.lang.reflect.Proxy) yang dengannya Anda dapat membuat objek saat runtime (secara dinamis) tanpa membuat kelas terpisah untuknya.

  9. Bagaimana cara kerja RMI?

    RMI adalah singkatan dari Remote Method Invokation. Atau dengan kata lain, RMI adalah mekanisme yang memungkinkan sebuah objek di satu mesin Java memanggil metode dari suatu objek di mesin Java lainnya, meskipun objek tersebut berada di komputer berbeda, di negara berbeda, di belahan dunia berbeda.

    Pendekatan tradisional untuk mengeksekusi kode pada mesin lain di seluruh jaringan dapat membingungkan karena implementasinya yang membosankan dan rawan kesalahan. Cara terbaik untuk mengatasi masalah ini adalah dengan berasumsi bahwa beberapa objek berlokasi di komputer lain, dan Anda dapat mengirim pesan ke objek jarak jauh tersebut dan menerima hasilnya seolah-olah objek tersebut berlokasi di mesin lokal Anda. Penyederhanaan inilah yang memungkinkan Anda melakukan Remote Method Invocation (RMI) di Java.

    Berikut artikel tentang cara membuat implementasi RMI Anda sendiri: Remote Method Invocation (RMI)

  10. Jenis objek apa yang dapat ditransfer melalui RMI?

    Objek harus mengimplementasikan antarmukaSerializable

    Pemanggilan metode jarak jauh adalah mekanisme yang memungkinkan Anda memanggil metode pada objek jarak jauh. Menurutnya, semua operasi untuk mempersiapkan dan mengirimkan data dienkapsulasi dalam metode yang disebut objek stub klien. Pemanggilan metode itu sendiri tidak berbeda dengan pemanggilan metode pada objek lokal biasa, dengan beberapa pengecualian:

    • objek lokal diteruskan berdasarkan nilai (salinan);
    • saat mentransfer Remoteobjek jarak jauh ( ), jika diekspor, stub objek tersebut akan ditransfer;
    • benda yang dilewati harus Serializable;
    • selain semua situasi luar biasa lainnya, saat memanggil metode jarak jauh, pengecualian mungkin muncul RemoteException(kesalahan marshalling/unmarshalling, kesalahan transfer data, dan kemungkinan kesalahan protokol lainnya);

    Perlu juga dicatat bahwa saat memanggil suatu metode, kami bekerja dengan antarmuka jarak jauh, dan bukan dengan kelas jarak jauh.

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