- 浏览: 377078 次
- 性别:
- 来自: 四川
文章分类
- 全部博客 (247)
- 数据库以及sql (11)
- java (48)
- 爬虫学习 (20)
- java编程 (28)
- python编程以及安装和配置 (27)
- oracle数据库 (32)
- mongodb基本操作 (4)
- linux学习 (7)
- easyUI (2)
- nodeJs (8)
- python学习 (16)
- 其他 (13)
- hadoop (1)
- svn (1)
- 汉字 (1)
- windows (2)
- jsp (5)
- fiddler (1)
- ETL (1)
- teamviewer (1)
- maven (4)
- GIT (2)
- datagrip (1)
- ocr (1)
- redis (3)
- mysql (3)
- linux (1)
- 数据服务 (0)
最新评论
======================================Emoloyee实体类
package JavaHeigth.serializableTest;
import java.io.Serializable;
public class Employee implements Serializable{
private static final long serialVersionUID = 3593458869057048152L;
public String name ;
public String address;
public transient int SSN; //不可序列化状态 瞬态
public int number;
public void mailCheck(){
System.out.println("Mailing a check to " +name +" "+address );
}
}
======================================序列化
package JavaHeigth.serializableTest;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class SerializeDemo {
public static void main(String[] args) {
Employee e = new Employee();
e.name="kaige";
e.address="北京海淀";
e.SSN=112233;
e.number=101;
try {
FileOutputStream fos = new FileOutputStream("f://employee.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(e);
oos.close();
fos.close();
System.out.println("序列化保存在f://employee.ser中");
} catch (Exception e2) {
// TODO: handle exception
System.out.println("异常");
e2.printStackTrace();
}
}
}
=============================反序列化
package JavaHeigth.serializableTest;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class DeserializeDemo {
public static void main(String [] args)
{
Employee e = null;
try
{
FileInputStream fileIn = new FileInputStream("f://employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) in.readObject();
in.close();
fileIn.close();
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c)
{
System.out.println("Employee class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Name: " + e.name);
System.out.println("Address: " + e.address);
System.out.println("SSN: " + e.SSN);
System.out.println("Number: " + e.number);
}
}
SSN=0;原因是transient 变量不能被序列化
package JavaHeigth.serializableTest;
import java.io.Serializable;
public class Employee implements Serializable{
private static final long serialVersionUID = 3593458869057048152L;
public String name ;
public String address;
public transient int SSN; //不可序列化状态 瞬态
public int number;
public void mailCheck(){
System.out.println("Mailing a check to " +name +" "+address );
}
}
======================================序列化
package JavaHeigth.serializableTest;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class SerializeDemo {
public static void main(String[] args) {
Employee e = new Employee();
e.name="kaige";
e.address="北京海淀";
e.SSN=112233;
e.number=101;
try {
FileOutputStream fos = new FileOutputStream("f://employee.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(e);
oos.close();
fos.close();
System.out.println("序列化保存在f://employee.ser中");
} catch (Exception e2) {
// TODO: handle exception
System.out.println("异常");
e2.printStackTrace();
}
}
}
=============================反序列化
package JavaHeigth.serializableTest;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class DeserializeDemo {
public static void main(String [] args)
{
Employee e = null;
try
{
FileInputStream fileIn = new FileInputStream("f://employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) in.readObject();
in.close();
fileIn.close();
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c)
{
System.out.println("Employee class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Name: " + e.name);
System.out.println("Address: " + e.address);
System.out.println("SSN: " + e.SSN);
System.out.println("Number: " + e.number);
}
}
SSN=0;原因是transient 变量不能被序列化
发表评论
-
java字符串 与 ASCII码相互转换
2018-09-12 14:32 10295public class stringToAscii { p ... -
java根据url下载附件源码
2017-04-18 10:37 721public static void runDownLoad( ... -
解决553 authentication is required 错误
2017-04-12 09:46 3578//获取系统属性 Properties pro = Sys ... -
ajax跨源解决办法(jsonp)
2017-04-11 10:39 471<!DOCTYPE html PUBLIC " ... -
socket知识
2017-04-11 10:29 475网络应用: socket java: socket类 1. ... -
URL的常用方法和获取网页数据实例
2017-04-10 11:23 618=============================== ... -
tomcat发布Java项目的两种方式
2017-04-06 15:19 368部署tomcat项目有两种方式: 方法一是在eclipse中启 ... -
HashSet,TreeSet和LinkedHashSet的区别
2017-04-06 10:10 414原文:http://www.cnblogs.com ... -
java中map排序(SortedMap的用法)
2017-04-06 09:47 2119package JavaSenior; import jav ... -
java遍历list和map集合
2017-04-06 09:18 1295package JavaSenior; import jav ... -
在Eclipse中使用Axis2插件自动生成WSDL文件
2017-03-30 16:48 1040原文:http://blog.csdn.net/a198810 ... -
java模拟浏览器抓取网站信息和下载附件
2017-03-30 09:46 1656package com.teamdev.jxbrowser.c ... -
window_根据进程号关闭进程
2017-03-29 11:22 563netstat -ano | findstr 80 //列出进 ... -
java代码关闭指定进程
2017-03-28 17:07 1245//window下 public static void m ... -
eclipse配置webservice
2017-03-28 14:19 527引用:http://www.cnblogs.com/xwdre ... -
java遍历list和map的几种方式
2017-03-24 17:06 1022package JavaSenior; import jav ... -
java多态的优点和存在的必要条件
2017-03-24 14:46 1351/** 多态的优点: 1. 消除类型之间的耦合关系 ... -
java 目录创建,遍历与删除
2017-03-24 10:56 530package JavaAdvanced; import j ... -
java输入输出流
2017-03-24 10:15 644package JavaAdvanced; //Java 流( ... -
java中二维数组的赋值与遍历
2017-03-23 16:54 2699//创建多维数组 int [][] IntAy=new i ...
相关推荐
Java对象的序列化和反序列化是Java编程中一项重要的技术,主要用于将对象的状态转换为字节流,以便存储或在网络上传输。这一过程对于理解Java的IO操作、持久化数据以及实现分布式通信等场景非常关键。 首先,我们来...
3. **注意事项**:反序列化时,必须确保类定义和序列化时完全一致,包括类名、包名以及所有字段。否则,会抛出`InvalidClassException`。 **三、序列化版本ID (`serialVersionUID`)** Java允许我们定义一个名为`...
Java对象序列化与反序列化是Java编程中重要的概念,主要应用于数据持久化、网络传输以及存储等场景。本文将详细解析这两个概念及其在实际应用中的实现方式。 **一、Java对象序列化** 1. **定义**: Java对象序列化...
Java序列化是Java平台中的一种持久化机制,它允许对象的状态被转换成字节流,以便存储、网络传输或在不同时间点恢复...理解和熟练掌握序列化机制,以及知道如何避免其潜在问题,对于任何Java开发者来说都是至关重要的。
- Java允许使用 `writeObject()` 和 `readObject()` 方法来自定义序列化和反序列化的行为,这两个方法需要在类中声明为`private`,并由`java.io.Serializable` 接口的实现类提供。 7. **序列化安全性** - 序列化...
Java的序列化和反序列化是Java开发中重要的概念,主要涉及对象状态的持久化以及在网络传输中的数据转换。在Java中,序列化是将一个对象转换为字节序列的过程,而反序列化则是将字节序列恢复为原始对象的过程。 1. *...
Java序列化和反序列化是Java平台中的核心特性,允许对象在各种上下文中持久化和传输。虽然它提供了许多便利,但同时也需要注意安全性问题和性能优化。在实际开发中,根据需求选择合适的序列化策略和工具是至关重要的...
Java对象的序列化和反序列化是Java编程中的一项重要技术,主要应用于数据持久化、网络传输等场景。本课件详细介绍了这一概念及其在实际应用中的操作。 首先,序列化是将Java对象转化为字节序列的过程,目的是为了...
今天,我们将深入理解Java虚拟机-Java内存区域透彻分析,探讨序列化和反序列化的概念及其使用场景,实现序列化的方式,以及transient关键字的作用。 序列化和反序列化的概念 序列化是指将Java对象转换为二进制数据...
- **性能优化**:序列化大型对象时,如果其中某些属性不必要,排除它们可以减少序列化和反序列化的时间及存储需求。 - **设计考虑**:某些属性可能包含临时或计算值,在反序列化时不需要恢复。 3. **如何排除特定...
另外,Java还提供了一个更灵活的序列化接口`Externalizable`,它要求类自己控制序列化和反序列化的过程,需要实现`writeExternal()`和`readExternal()`方法。这种方式更耗费资源,但能更好地控制序列化过程,特别是...
### Java序列化与反序列化的深入解析 #### Java序列化的重要性及应用场景 Java序列化是一项核心功能,它允许程序员将对象的状态转化为字节流的形式,从而实现对象的持久化存储或者在网络之间进行传递。这对于诸如...
总的来说,Java序列化是Java程序设计中一个强大的工具,它使得对象能够在不同的环境中持久化和复制,从而扩展了Java应用程序的灵活性和可移植性。理解并熟练掌握序列化机制对于高级软件开发者来说是非常重要的。
在Java编程语言中,对象的序列化和反序列化是两个关键的概念,它们对于数据存储、网络传输以及持久化有着重要的作用。这篇文章将深入探讨这两个主题,并通过实践例子来阐述其工作原理。 **序列化(Serialization)*...
下面我们将详细讨论Java序列化的用途、注意事项以及如何实现。 1. **序列化用途**: - **持久化存储**:将对象状态保存到硬盘上,方便下次加载使用。 - **网络传输**:在网络通信中,将对象转换为字节流,通过...
`Test.java`, `Test1.java`, 和 `ThirdObject.java`可能是实现序列化和反序列化的示例代码,它们可能包含了对`Child`, `Parent`或其他自定义类的实例进行操作的逻辑。具体的代码细节取决于这些文件的实际内容。 ...
Java的序列化机制允许开发者在类中定义`readObject()`和`writeObject()`方法来自定义序列化和反序列化的行为,或者使用`transient`关键字来排除某些字段不参与序列化。 总之,Java序列化是一个强大的工具,它使得...
这个过程包括两个主要操作:序列化(将对象转换为字节流)和反序列化(将字节流恢复为对象)。在Java中,如果一个类需要支持序列化,它应该实现`java.io.Serializable`接口。 在Java序列化过程中,`...
- **用途**:Java提供了`transient`关键字,用于标记类的某个字段不参与序列化和反序列化。 - **应用场景**:例如,某些字段可能包含敏感信息,不适合在网络上传输,或者字段的值可以通过其他方式重新计算得到。 ...