http://fangguanhong.iteye.com/blog/1976911
import java.io.Serializable; class Customer implements Serializable { private static final long serialVersionUID = 1324123542315L; private String name; private int age; private String address; private String address1; public Customer(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } public String toString() { return "name=" + name + ", age=" + age + ", address=" + address; } }
import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.util.Date; /** * @see反序列化测试类。 Created with IntelliJ IDEA. User: Administrator Date: 13-12-11 * Time: 下午5:16 To change this template use File | Settings | File * Templates. */ public class ObjectClient { public static void main(String[] args) { // 反序列化对象 try { ObjectInputStream in = new ObjectInputStream(new FileInputStream(".\\objectFile.obj")); System.out.println("obj1=" + (String) in.readObject()); System.out.println("obj2=" + (Date) in.readObject()); Customer obj3 = (Customer) in.readObject(); System.out.println("obj3=" + obj3); int obj4 = in.readInt(); System.out.println("obj4=" + obj4); int obj5 = in.readInt(); System.out.println("obj5=" + obj5); in.close(); } catch (ClassNotFoundException enf) { System.out.println("ClassNotFound"); enf.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.util.Date; /** * Created with IntelliJ IDEA. User: Administrator Date: 13-12-11 Time: 下午5:08 * To change this template use File | Settings | File Templates. * * @see对象的序列化 从输入流中读取数据的顺序(类型)要和写入流时候的顺序对应 */ public class ObjectServer { private static String hello = "你好"; private static int number = 1234; public static void main(String[] args) throws Exception { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(".\\objectFile.obj")); // 序列化对象 Customer customer = new Customer("阿蜜果", 24, "GuangZhouChina"); out.writeObject(hello); out.writeObject(new Date()); out.writeObject(customer); out.writeInt(number); out.writeInt(123); // 写入基本类型数据 out.close(); } }
相关推荐
- 数据流操作,如ObjectInputStream和ObjectOutputStream用于对象的序列化和反序列化。 8. **多线程** - 理解线程的基本概念,如何创建和控制线程(Thread类和Runnable接口)。 - 线程同步机制,如synchronized...
以上是根据"2021_Java_Interview:2021年Java开发岗知识积累"这个主题所涵盖的Java开发者应知应会的知识点。通过深入学习这些内容,不仅可以为面试做好充分准备,也能在实际工作中提升开发能力。
22. 对象序列化:Serializable接口,以及对象的序列化和反序列化。 七、网络编程 23. Socket编程:TCP和UDP协议,ServerSocket和Socket类的应用。 24. URL与URLConnection:HTTP通信的基础,理解URL的组成,以及...
【开源项目-andyleap-gencode.zip】是一个开源项目,其主要功能是提供快速的序列化和反序列化代码生成工具。Gencode这个名字来源于"Generate Code"的缩写,表明这个项目的目标是自动生成用于数据转换的高效代码。...
在密码学领域,序列密码是一种重要的加密方法,它在信息安全中扮演着至关重要的角色。序列密码的工作原理是基于密钥生成一系列...在理解和应用序列密码时,应注重理论知识的积累,同时结合实践,确保加密系统的安全性。
7. **IO流**:掌握字节流和字符流的区别,以及缓冲流、对象序列化、文件操作、管道流等。 8. **反射**:理解反射的概念,如何动态获取类信息,创建对象,调用方法,修改字段值等。 9. **泛型**:泛型的引入是为了...
JOTO(Java Object to Object)是BlazeDS中的一个重要概念,它负责在Flex客户端和Java服务器之间进行对象的序列化和反序列化。 在入门Flex+Java开发的过程中,你需要掌握以下知识点: 1. **Flex基础**:学习Flex ...
这份资源集成了100家公司的面试和笔试题目,涵盖了广泛的Java知识领域,并进行了细致的分类总结,旨在帮助求职者全面了解和准备Java技术面试。 首先,我们要明白Java语言的基础知识是面试的基石。这包括但不限于: ...
序列化与反序列化 Gson 单元测试 EasyMock WireMock Mockito 网络&I/O RMI HTTP Netty 4.0.x 线程&并发 反射&代理 AOP 脚本语言 加密解密 开源组件 Slf4j Redis SSH Tomcat JBoss EJB 设计模式 Java工具
- **对象序列化与反序列化**:ObjectInputStream和ObjectOutputStream允许我们将Java对象持久化到磁盘或网络上。 2. **Java 多线程**: - **线程的创建**:可以通过实现Runnable接口或继承Thread类来创建线程。 ...
7. **数据序列化与反序列化**: - **JSON或XML**:为了在网络间传输对象,可能使用JSON或XML将对象转换为字符串形式。 8. **数据库操作**: - **JDBC**:如果聊天记录需要持久化存储,可能会涉及使用Java ...
- **对象序列化**:学习对象的序列化和反序列化及其应用。 - **异常处理**:理解异常处理机制,包括异常的声明、抛出、捕获和自定义异常。 - **网络编程**:学习URL访问、Socket编程等网络技术。 - **新特性**:包括...
- 序列化:持久化对象,ObjectInputStream和ObjectOutputStream。 9. **多线程** - 线程的创建:通过实现Runnable接口或继承Thread类。 - 线程控制:sleep(), join(), yield(), interrupt()等方法。 - 同步机制...
Java提供了Serializable接口,用于对象的序列化,而ObjectInputStream和ObjectOutputStream类则用于对象的序列化和反序列化。 4. **消息协议**:为了确保数据的正确解析,可能需要定义一个简单的消息协议,比如以...
8. **IO流**:掌握输入输出流的概念,包括文件读写、对象序列化和反序列化,以及使用BufferedReader和PrintWriter进行文本处理。 9. **多线程**:了解线程的基本概念,如何创建和管理线程,同步机制(synchronized...
- **对象序列化:** 了解如何将对象转换为字节流以便存储或传输。 - **Java常用数据结构:** 深入理解集合框架中的各类容器。 - **Applet:** 创建可以在Web浏览器中运行的小应用程序。 - **流和文件:** 文件I/O...
总之,这个"java课件完整版"涵盖了从入门到进阶的全面Java知识,无论是初学者还是有经验的开发者,都能从中受益。通过深入学习和实践,你可以掌握扎实的Java技能,为未来的职业生涯打下坚实的基础。
- 文件流与对象序列化:如何将对象写入文件并反序列化恢复。 5. **Java的面向对象编程** - 继承、封装和多态:深入理解面向对象三大特性及其在Java中的体现。 - 抽象类与接口:探讨抽象类和接口的区别与应用场景...