-
Niyə lazımdır
RandomAccessFile
?RandomAccessFile
Java IO API paketindəki sinifdir, o, istədiyiniz kimi faylda naviqasiya etməyə, fayldan oxumağa və ya ona yazmağa imkan verir. Siz həmçinin faylın mövcud hissələrini əvəz edə bilərsiniz; söhbət faylın məzmununun yenilənməsindən, daha dəqiq desək, faylın fraqmentinin yenilənməsindən gedir.FileInputStream
Bu və ya ilə edilə bilməzFileOutputStream
, lakinRandomAccessFile
bu qabiliyyəti sizə verəcəkdir. -
Oxuduğu fayl
RandomAccessFile
mövcud deyilsə nə olar?iradə
FileNotFoundException
-
Onun yazdığı fayl
RandomAccessFile
mövcud deyilsə nə baş verir?Yenisini yaradacaq və ona yazacaq.
-
Niyə bizə sinif lazımdır
StringReader
?Java.io.StringReader sinfi mənbəsi sətir olan simvol axınıdır.
Mənbəsi sətir adlanan simvol axınını təmsil edir
-
Niyə bizə sinif lazımdır
StringWriter
?public class StringWriter
extends Writer
Çıxışını sətir buferində toplayan simvol axını, daha sonra sətir qurmaq üçün istifadə edilə bilər.
StringWriter-in bağlanmasının heç bir təsiri yoxdur. Bu sinifdəki metodlar IOException yaratmadan axın bağlandıqdan sonra çağırıla bilər.
Öz axınını sətirlərin buferinə toplayan simvollar axını, daha sonra sətir yaratmaq üçün istifadə oluna bilər.
-
Niyə bizə sinif lazımdır
ByteArrayStream
?Beləliklə,
ByteArrayInputStream
vəByteArrayOutputStream
.StringReader
Bu siniflər mahiyyətcə və ilə oxşardır< code="">. O, yalnız <>StringReader
sətirdən (String) simvolları (char) oxuyur, lakinByteArrayInputStream
bayt massivindən (ByteArray) baytları oxuyur.StringWriter
simvolları (char) sətirə yazır, lakinByteArrayOutputStream
baytları onun daxilindəki bayt massivinə yazır. Ona yazandaStringWriter
onun içindəki sətir uzanırdı,ByteArrayOutputStream
daxili massivinə yazanda isə bayt da dinamik şəkildə genişlənirdi. -
Niyə bizə sinif lazımdır
PrintStream
? İstifadə olunduğu yerləri adlandırın?Sinif
PrintStream
məlumatları oxunaqlı şəkildə göstərmək üçün icad edilmişdir. O, demək olar ki, tamamilə üsullardanprint
vəprintln
. -
Niyə lazımdır
DynamicProxy
?Java-nın xüsusi sinfi (java.lang.reflect.Proxy) var ki, onun köməyi ilə obyekti onun üçün ayrıca bir sinif yaratmadan, həqiqətən, iş vaxtında (dinamik olaraq) qura bilərsiniz.
-
RMI necə işləyir?
RMI Remote Method Invokation deməkdir. Və ya başqa sözlə desək, RMI bir Java maşınındakı obyektə başqa bir Java maşınındakı obyektin metodlarını müxtəlif kompüterlərdə, müxtəlif ölkələrdə, dünyanın müxtəlif tərəflərində olsa belə çağırmağa imkan verən mexanizmdir.
Традиционный подход к выполнению codeа на других машинах, разнесенных по сети может смутить из-за своей нудной и склонной к ошибкам реализации. Лучший способ рассмотреть эту проблему состоит в предположении, что некоторые an objectы располагаются на другой машине, и что вы можете посылать messages этим удаленным an objectм и получать результат, How будто они располагаются на вашей локальной машине. Это упрощение в точности является тем, что позволяет делать Удаленный Вызов Методов (RMI) в Java.
Вот статья по созданию собственной реализации RMI: Удаленный вызов методов (RMI)
-
Объекты 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
(ошибки маршализации/демаршализации, передачи данных и другие возможные ошибки протокола);
Так же нужно отметить, что при вызове метода мы работаем с удалённым интерфейсом, а не с удалённым классом.
DefNeo
Səviyyə
GO TO FULL VERSION