-
為什麼需要它
RandomAccessFile
?RandomAccessFile
是 Java IO API 套件中的一個類,它允許您根據需要導航、讀取或寫入檔案。您也可以替換文件的現有部分;我們談論的是更新文件的內容,或更準確地說是更新文件的片段。FileInputStream
這不能用或 來完成FileOutputStream
,但RandomAccessFile
會給你這種能力。 -
如果讀取的檔案
RandomAccessFile
不存在會發生什麼?將要
FileNotFoundException
-
如果寫入的文件
RandomAccessFile
不存在會發生什麼?它將創建一個新的並將其寫入其中。
-
為什麼我們需要上課
StringReader
?Java.io.StringReader 類別是一個字元流,其來源是字串。
表示一個字元流,其來源稱為字串
-
為什麼我們需要上課
StringWriter
?public class StringWriter
extends Writer
將其輸出收集到字串緩衝區中的字元流,然後可以使用該緩衝區建構字串。
關閉 StringWriter 沒有任何效果。可以在串流關閉後呼叫此類中的方法,而不會產生 IOException。
字元流,將其流收集到字串緩衝區中,然後可以使用該緩衝區建立字串。
-
為什麼我們需要上課
ByteArrayStream
?所以,
ByteArrayInputStream
並且ByteArrayOutputStream
。這些類別本質上類似於
StringReader
和< code="">。它只 <>StringReader
從字串(String)中讀取字元(char),但從ByteArrayInputStream
位元組數組(ByteArray)中讀取位元組。StringWriter
將字元(char)寫入字串,但ByteArrayOutputStream
將位元組寫入其中的位元組數組。當寫入StringWriter
它時,它內部的字串會變長,當寫入ByteArrayOutputStream
它的內部數組時,位元組也會動態擴展。 -
為什麼我們需要上課
PrintStream
?說出使用它的地方?該類別的
PrintStream
發明是為了以可讀的方式顯示資訊。它幾乎完全由方法print
和組成println
。 -
為什麼需要它
DynamicProxy
?Java 有一個特殊的類別 (java.lang.reflect.Proxy),您可以使用它在執行時間(動態)實際建構一個對象,而無需為其建立單獨的類別。
-
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
等級 36
GO TO FULL VERSION