JavaRush /وبلاگ جاوا /Random-FA /سطح 32. پاسخ به سؤالات مصاحبه در مورد موضوع سطح
DefNeo
مرحله

سطح 32. پاسخ به سؤالات مصاحبه در مورد موضوع سطح

در گروه منتشر شد
سطح 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کاراکترها (char) را از یک رشته (String) می خواند، اما ByteArrayInputStreamبایت ها را از یک آرایه بایتی (ByteArray) می خواند. <>

    StringWriterکاراکترها (char) را در یک رشته نوشت، اما ByteArrayOutputStreamبایت ها را در یک آرایه بایت در داخل آن می نویسد. هنگام نوشتن روی StringWriterآن، رشته داخل آن طولانی شد و هنگام نوشتن در ByteArrayOutputStreamآرایه داخلی آن، بایت نیز به صورت پویا گسترش می‌یابد.

  7. چرا به کلاس نیاز داریم PrintStream؟ مکان های استفاده از آن را نام ببرید؟

    کلاس PrintStreamبرای نمایش اطلاعات به صورت خوانا اختراع شد. تقریباً به طور کامل از روش ها printو println.

  8. چرا نیاز است DynamicProxy؟

    جاوا یک کلاس خاص دارد (java.lang.reflect.Proxy) که با آن می توانید در زمان اجرا (به صورت پویا) یک شی را بدون ایجاد کلاس جداگانه برای آن بسازید.

  9. RMI چگونه کار می کند؟

    RMI مخفف Remote Method Invokation است. یا به عبارت دیگر، RMI مکانیزمی است که به یک شی در یک ماشین جاوا اجازه می دهد تا روش های یک شی را در ماشین جاوای دیگر فراخوانی کند، حتی اگر آنها در رایانه های مختلف، در کشورهای مختلف، در طرف های مختلف کره زمین باشند.

    رویکرد سنتی برای اجرای کد بر روی ماشین‌های دیگر در سراسر شبکه به دلیل اجرای خسته‌کننده و مستعد خطا می‌تواند گیج‌کننده باشد. بهترین راه برای فکر کردن در مورد این مشکل این است که فرض کنیم برخی از اشیاء در دستگاه دیگری قرار دارند و می توانید پیام هایی را به این اشیاء راه دور ارسال کنید و نتیجه را دریافت کنید که گویی در دستگاه محلی شما قرار دارند. این ساده سازی دقیقاً همان چیزی است که Remote Method Invocation (RMI) به شما امکان می دهد در جاوا انجام دهید.

    Вот статья по созданию собственной реализации 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