使用try/catch/finally块进行异常处理,finally指令无论如何都会执行,如果try或catch块有return指令,会跳到finally然后再回到return指令。多重异常处理(多个catch块),catch块要从小排到大,最大的是Exception,它包含了所有的异常,但是不建议写,因为包含所有反而不知道具体是哪个异常,无法处理。
Java序列化就是指把Java对象转换为字节序列的过程;Java反序列化就是指把字节序列恢复为Java对象的过程。
Serializable接口是标记用接口,唯一目的是声明有实现它的类是可以被序列化的,序列化程序会将对象版图上所有东西存储起来,被对象的实例变量所引用的所有对象都会被序列化,这意味着引用的所有对象必须是可以被序列化的(即对象类要继承Serializable接口),否则应该把他标记成transient(表示不能或不应该被序列化)
将序列化对象写入文件:FileOutputStream file = new FileOutputStream("df.ser");ObjectOutputStream os = new ObjectOutputStream(file);os.writeObject(对象引用);os.close();
解序列化:FileInputStream file = new FileInputStream("df.ser");ObjecIntputStream os = new ObjectInputStream(file);os.readObject(对象引用);os.close();transient标记后,还原时恢复成null或者默认值,static变量不会被序列化,还原时会保持类中原本的样子。
原文:https://www.cnblogs.com/tfs-java/p/14586132.html