日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的流对象和一些方法

發布時間:2024/9/30 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的流对象和一些方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法public StringBuilder reverse()

,用于將字符序列逆序,仍然返回自身對象。 方法public String toString(),返回此序列中數據的字符串表示形式。
String一經初始化,就不會再改變其內容了。對String字符串的操作實際上是對其副本(原始拷貝)的操作,原來的字符串一點都沒有改變。例如String s ="a"創建了一個字符串,s= s+“b"實際上將原來的"a"字符串對象丟棄,現在又產生了另一個字符串s+“b”(也就是"ab”)。如果多次執行這些改變串內容的操作,會導致大量副本字符串對象存留在內存中,降低效率。如果將這樣的操作放到循環中,會極大地影響程序的時間和空間性能,甚至會造成服務器的崩潰。
相反,StringBuilder和StringBuffer類是對原字符串本身操作的,可以對字符串進行修改而不產生副本或者產生少量的副本,因此可以在循環中使用。

為了減少對硬盤的讀寫次數,提高效率,通常設置緩存數組。相應地,讀取時使用的方法為read(byte[ ] b);寫入時的方法為write(byte[ ] b, int off, int length)。

緩沖字節流

BufferedInputStream和BufferedOutputStream這兩個流是緩沖字節流,通過內部緩存數組來提高操作流的效率。在關閉流時,應該先關閉最外層的包裝流,即“后開啟的先關閉”。 緩存區的默認大小是8192字節,也可以使用其他的構造器來指定大小。
readLine()方法是BufferedReader特有的方法,可以對文本文件進行更加方便的讀取操作。 寫入一行后要記得使用newLine()方法換行。

數據流

數據流將“基本數據類型與字符串類型”作為數據源,從而允許程序以與機器無關的方式從底層輸入/輸出流中操作Java基本數據類型與字符串類型。 DataInputStream和DataOutputStream提供了可以存取與機器無關的所有Java基礎類型數據(如:int、double、String等)的方法。 DataInputStream和DataOutputStream是處理流,可以對其他節點流或處理流進行包裝,增加一些更靈活、更高效的功能。。如果要對某個對象進行讀寫操作,需要學習一對新的處理流:ObjectInputStream和ObjectOutputStream。使用對象流讀寫對象時,該對象必須經過序列化與反序列化.

序列化和反序列化是什么

當兩個進程進行遠程通信時,可能會發送各種類型的數據,無論是何種類型的數據,都是以二進制序列的形式在網絡上傳送。例如,可以通過HTTP協議發送字符串信息,也可以在網絡上直接發送Java對象。發送方需要把這個Java對象轉換為字節序列才能在網絡上傳送,接收方則需要把字節序列再恢復為Java對象才能正常讀取。將Java對象轉換為字節序列的過程稱為對象的序列化。將字節序列恢復為Java對象的過程稱為對象的反序列化。對象序列化的作用如下。 持久化:把對象的字節序列永久地保存到硬盤上,通常存放在一個文件中,例如休眠的實現、服務器session的持久化、hibernate持久化對象等。 網絡通信:在網絡上傳送對象的字節序列,例如服務器之間的數據通信、對象傳遞等。

ObjectInputStream代表對象輸入流,它的readObject()方法可以從一個源輸入流中讀取字節序列,再將其反序列化為一個對象并返回。
只有實現了Serializable接口的類的對象才能被序列化。Serializable接口是一個空接口,只起標記作用。

總結

以上是生活随笔為你收集整理的java的流对象和一些方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。