-
Bakit kailangan ito
RandomAccessFile
?RandomAccessFile
ay isang klase sa Java IO API package, pinapayagan ka nitong mag-navigate, magbasa mula sa, o magsulat sa isang file ayon sa gusto mo. Maaari mo ring palitan ang mga kasalukuyang bahagi ng isang file; pinag-uusapan natin ang tungkol sa pag-update ng mga nilalaman ng isang file, o mas tiyak tungkol sa pag-update ng isang fragment ng isang file. Hindi ito magagawa saFileInputStream
oFileOutputStream
, ngunitRandomAccessFile
bibigyan ka ng kakayahang ito. -
Ano ang mangyayari kung ang file kung saan ito nagbabasa
RandomAccessFile
ay hindi umiiral?Will
FileNotFoundException
-
Ano ang mangyayari kung ang file kung saan ito nagsusulat
RandomAccessFile
ay hindi umiiral?Ito ay lilikha ng bago at isusulat ito dito.
-
Bakit kailangan natin ng klase
StringReader
?Ang klase ng Java.io.StringReader ay isang stream ng character na ang pinagmulan ay isang string.
Kumakatawan sa isang stream ng mga character na ang pinagmulan ay tinatawag na isang string
-
Bakit kailangan natin ng klase
StringWriter
?public class StringWriter
extends Writer
Isang stream ng character na kinokolekta ang output nito sa isang buffer ng string, na maaaring magamit upang bumuo ng isang string.
Ang pagsasara ng StringWriter ay walang epekto. Ang mga pamamaraan sa klase na ito ay maaaring tawagan pagkatapos na isara ang stream nang hindi bumubuo ng isang IOException.
Isang stream ng mga character na kinokolekta ang stream nito sa isang buffer ng mga string, na pagkatapos ay magagamit upang lumikha ng isang string.
-
Bakit kailangan natin ng klase
ByteArrayStream
?Kaya,
ByteArrayInputStream
atByteArrayOutputStream
.Ang mga klase na ito ay halos kapareho ng
StringReader
at< code="">. Nagbabasa lamang ito <>StringReader
ng mga character (char) mula sa isang string (String), ngunitByteArrayInputStream
nagbabasa ng mga byte mula sa isang byte array (ByteArray).StringWriter
nagsulat ng mga character (char) sa isang string, ngunitByteArrayOutputStream
nagsusulat ng mga byte sa isang byte array sa loob nito. Kapag sumulatStringWriter
dito, humahaba ang string sa loob nito, at kapag sumusulat saByteArrayOutputStream
panloob na array nito, dynamic na lumawak din ang byte. -
Bakit kailangan natin ng klase
PrintStream
? Pangalanan ang mga lugar kung saan ito ginagamit?Ang klase
PrintStream
ay naimbento upang ipakita ang impormasyon sa isang nababasang paraan. Ito ay halos ganap na binubuo ng mga pamamaraanprint
atprintln
. -
Bakit kailangan ito
DynamicProxy
?Ang Java ay may espesyal na klase (java.lang.reflect.Proxy) kung saan maaari kang aktwal na bumuo ng isang bagay sa runtime (dynamic na paraan) nang hindi gumagawa ng hiwalay na klase para dito.
-
Paano gumagana ang RMI?
Ang RMI ay nangangahulugang Remote Method Invokation. O sa madaling salita, ang RMI ay isang mekanismo na nagpapahintulot sa isang bagay sa isang Java machine na tumawag sa mga pamamaraan ng isang bagay sa isa pang Java machine, kahit na sila ay nasa iba't ibang mga computer, sa iba't ibang bansa, sa iba't ibang panig ng mundo.
Традиционный подход к выполнению 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
Antas
GO TO FULL VERSION