-
Чаро он лозим аст
RandomAccessFile
?RandomAccessFile
синф дар бастаи Java IO API аст, он ба шумо имкон медиҳад, ки мувофиқи хоҳишатон паймоиш кунед, аз он хонед ё ба файл нависед. Шумо инчунин метавонед қисмҳои мавҷудаи файлро иваз кунед; сухан дар бораи навсозии мундариҷаи файл ё аниктараш дар бораи навсозии порчаи файл меравад.FileInputStream
Инро бо ё анҷом додан мумкин нестFileOutputStream
, аммоRandomAccessFile
ба шумо ин қобorятро медиҳад.Пайванд: RandomAccessFile ва имкониятҳои он
-
Агар файле, ки аз он хонда мешавад,
RandomAccessFile
вуҷуд надошта бошад, чӣ мешавад?иродаи
FileNotFoundException
-
Агар файле, ки дар он навишта шудааст,
RandomAccessFile
вуҷуд надошта бошад, чӣ мешавад?Он як нав эҷод мекунад ва онро ба он менависад.
-
Чаро ба мо синф лозим аст
StringReader
?Синфи Java.io.StringReader ҷараёни аломатҳоест, ки манбаи он сатр аст.
Ҷараёни аломатҳоро ифода мекунад, ки манбаи онҳо сатр номида мешавад
-
Чаро ба мо синф лозим аст
StringWriter
?public class StringWriter
extends Writer
Ҷараёни аломатҳо, ки баромади худро дар буфери сатр ҷамъоварӣ мекунад, ки пас аз он метавонад барои сохтани сатр истифода шавад.
Пӯшидани StringWriter ҳеҷ таъсире надорад. Усулҳои ин синфро пас аз баста шудани ҷараён бидуни тавлиди IOException даъват кардан мумкин аст.
Ҷараёни аломатҳое, ки ҷараёни худро ба буфери сатрҳо ҷамъ мекунанд, ки баъдан онҳоро барои сохтани сатр истифода бурдан мумкин аст.
-
Чаро ба мо синф лозим аст
ByteArrayStream
?Пас,
ByteArrayInputStream
ваByteArrayOutputStream
.StringReader
Ин синфҳо аслан ба ва монанданд< code="">. Он танҳо <>StringReader
аломатҳоро (char) аз сатр (String) мехонад, аммоByteArrayInputStream
byteҳоро аз массиви byteӣ (ByteArray) мехонад.StringWriter
аломатҳоро (char) ба сатр навишт, аммоByteArrayOutputStream
byteҳоро ба массиви byteӣ дар дохor он менависад. Ҳангоми навиштан баStringWriter
он сатри даруни он дароз мешуд ва ҳангоми навиштан баByteArrayOutputStream
массиви дохorи он byte низ ба таври динамикӣ васеъ мешуд. -
Чаро ба мо синф лозим аст
PrintStream
? Ҷойҳоеро, ки он истифода мешавад, номбар кунед?Синф
PrintStream
барои намоиши иттилоот ба тарзи хонданӣ ихтироъ шудааст. Он кариб пурра аз усулхоprint
ваprintln
. -
Чаро он лозим аст
DynamicProxy
?Java дорои синфи махсус (java.lang.reflect.Proxy), ки бо он шумо воқеан метавонед an objectро дар вақти кор (динамикӣ) бидуни сохтани синфи алоҳида барои он сохта метавонед.
-
RMI чӣ гуна кор мекунад?
RMI маънои истинод ба усули дурдаст дорад. Ё ба ибораи дигар, RMI механизмест, ки ба an object дар як мошини Java имкон медиҳад, ки усулҳои an objectро дар мошини дигари 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