1.什么是比特(Bit),什么是字節(Byte),什么是字符(Char),它們長度是多少,各有什么區別
1. Bit最小的二進制單位 ,是計算機的操作部分 取值0或者1
2. Byte是計算機操作數據的最小單位由8位bit組成 取值(-128-127)
3. Char是用戶的可讀寫的最小單位,在java里面由16位bit組成 取值(0-65535)
2.說下常用的io流
字節流:InputStream、OutputStream
字符流:Reader、Writer(這四個都是抽象類)
IO類設計時使用了裝飾者設計模式
3..什么是java序列化,如何實現java序列化?
我們有時候將一個java對象變成字節流的形式傳出去或者從一個字節流中恢復成一個java對象,例如,要將java對象存儲到硬盤或者傳送給網絡上的其他計算機,這個過程我們可以自己寫代碼去把一個java對象變成某個格式的字節流再傳輸,但是,jre本身就提供了這種支持,我們可以調用OutputStream的writeObject方法來做,如果要讓java 幫我們做,要被傳輸的對象必須實現serializable接口,這樣,javac編譯時就會進行特殊處理,編譯的類才可以被writeObject方法操作,這就是所謂的序列化。需要被序列化的類必須實現Serializable接口,該接口是一個mini接口,其中沒有需要實現的方法,implements Serializable只是為了標注該對象是可被序列化的。
例如,在web開發中,如果對象被保存在了Session中,tomcat在重啟時要把Session對象序列化到硬盤,這個對象就必須實現Serializable接口。如果對象要經過分布式系統進行網絡傳輸或通過rmi等遠程調用,這就需要在網絡上傳輸對象,被傳輸的對象就必須實現Serializable接口。