-
Ол не үшін қажет
RandomAccessFile
?RandomAccessFile
Java IO API бумасындағы сынып, ол файлды шарлауға, оқуға немесе қалағаныңызша жазуға мүмкіндік береді. Сондай-ақ, файлдың бар бөліктерін ауыстыруға болады, біз файлдың мазмұнын жаңарту туралы немесе нақтырақ файл фрагментін жаңарту туралы айтып отырмыз.FileInputStream
Мұны немесе арқылы жасау мүмкін емесFileOutputStream
, бірақRandomAccessFile
бұл мүмкіндікті береді. -
Ол оқитын файл
RandomAccessFile
жоқ болса не болады?Will
FileNotFoundException
-
Ол жазатын файл
RandomAccessFile
жоқ болса не болады?Ол жаңасын жасап, соған жазады.
-
Бізге сынып не үшін қажет
StringReader
?Java.io.StringReader класы - бұл жолдың көзі болып табылатын таңбалар ағыны.
Көзі жол деп аталатын таңбалар ағынын білдіреді
-
Бізге сынып не үшін қажет
StringWriter
?public class StringWriter
extends Writer
Жолды құру үшін пайдалануға болатын жол буферінде оның шығысын жинайтын таңбалар ағыны.
StringWriter-ді жабу ешқандай әсер етпейді. Бұл сыныптағы әдістерді IOException жасамай ағын жабылғаннан кейін шақыруға болады.
Өз ағынын жолдар буферіне жинайтын таңбалар ағыны, содан кейін жолды жасау үшін пайдалануға болады.
-
Бізге сынып не үшін қажет
ByteArrayStream
?Сонымен,
ByteArrayInputStream
жәнеByteArrayOutputStream
.StringReader
Бұл сыныптар негізінен және- ге ұқсас< code="">. Ол тек <>StringReader
жолдан (String) таңбаларды (char) оқиды, бірақByteArrayInputStream
byte массивінен (ByteArray) byteтарды оқиды.StringWriter
таңбаларды (char) жолға жазды, бірақByteArrayOutputStream
оның ішіндегі byte массивіне byteтарды жазады. Оған жазғандаStringWriter
оның ішіндегі жол ұзарады, алByteArrayOutputStream
оның ішкі массивіне жазғанда byte динамикалық түрде кеңейді. -
Бізге сынып не үшін қажет
PrintStream
? Қолданылатын жерлерді ата?Сынып
PrintStream
ақпаратты оқуға ыңғайлы етіп көрсету үшін ойлап табылған. Ол толығымен дерлік әдістерprint
менprintln
. -
Ол не үшін қажет
DynamicProxy
?Java-да арнайы класс (java.lang.reflect.Proxy) бар, оның көмегімен an objectіні орындау уақытында (динамикалық түрде) оған жеке класс жасамай-ақ салуға болады.
-
RMI қалай жұмыс істейді?
RMI қашықтағы әдісті шақыруды білдіреді. Немесе басқаша айтқанда, RMI - бұл бір Java машинасындағы нысанға басқа Java машинасындағы нысанның әдістерін шақыруға мүмкіндік беретін механизм, тіпті олар әртүрлі компьютерлерде, әртүрлі елдерде, жер шарының әртүрлі бөліктерінде болса да.
Традиционный подход к выполнению 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
Деңгей
GO TO FULL VERSION