java序列化文件是什么|什么是序列化在java中如何实现序列化

|

A. java 中的序列化是什么意思有什么好处

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。序列化是针对自定义类型或者零散数据,好处就是让数据方便存储和传输(传递),你可以理解为将零散的字母变成一个字符串(当然实际序列化过程并不是这么简单),可以统一存储和传输,而标准序列化传递后,还可以依次读取出来。序列化的目的是标准化和可存储,通常用于数据库、文件操作以及和系统标准化函数进行通信。

B. java中的序列化是什么意思

序列化是将对象状态转换为可保持或传输的格式的过程。说白点就是你可以用内对象输出流输出到文件容。如果不序列化输出的话,很可能会乱。

java中的序列化机制能够将一个实例对象(只序列化对象的属性值,而不会去序列化什么所谓的方法。)的状态信息写入到一个字节流中使其可以通过socket进行传输、或者持久化到存储数据库或文件系统中;然后在需要的时候通过字节流中的信息来重构一个相同的对象。

一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可。

C. Java中的序列化是什么意思

由于java内存中的对象的状态和值是不被记录和保存的。 要想在java内存中记录并保存内存中对象的状态及其值,称作“序列化”。 对象序列化是java自身记录对象状态的一种机制。 被序列化后的对象,可以保存到一个文件中或者数据库中,也可以用套接字在网络上传送。

D. 什么是java序列化

Java中的序列化是把Java对象转换为字节序列的过程,能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化到存储数据库或文件系统中,然后在需要的时候通过字节流中的信息来重构一个相同的

E. 什么是java序列化

一、序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;2) 在网络上传送对象的字节序列。二、什么场景会涉及序列化和反序列化的概念在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些session先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。作者:烨枫_邱

F. java中什么是序列化,怎么通俗理解序列化和反序列化

Java是通过IO流实现序列化的,序列化其实就是将内存中的Java对象拆分通过输出流传输到硬盘上保存起来,反序列化就是将硬盘中保存的Java对象组装通过输入流传输回内存中。

G. 什么是java序列化,如何实现java序列化

序 列 化: 指把堆内存中的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络的节点(在网络上传输).我们把这个过程称之为序列化.

反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象的过程.

为什么要做序列化:

1):在分布式系统中,需要共享的数据的JavaBean对象,都得做序列化,此时需要把对象再网络上传输,此时就得把对象数据转换为二进制形式.以后存储在HttpSession中的对象,都应该实现序列化接口(只有实现序列化接口的类,才能做序列化操作).

2):服务钝化:如果服务发现某些对象好久都没有活动了,此时服务器就会把这些内存中的对象,持久化在本地磁盘文件中(Java对象–>二进制文件).如果某些对象需要活动的时候,现在内存中去寻找,找到就使用,找不到再去磁盘文件中,反序列化我们得对象数据,恢复成Java对象.

需要做序列化的对象的类,必须实现序列化接口:java.io.Serializable接口(标志接口[没有抽象方法]).

底层会判断,如果当前对象是Serializable的实例,才允许做序列化. boolean ret = Java对象 instanceof Serializable;

在Java中大多数类都已经实现Serializable接口.

H. JAVA中,序列化是指的什么有何用途

序列化,指将对象转换为字节序列的过程。用途:当你想把内存中的对象状态保存到一个文件中或者数据库中时候。在webservice里面我用到过,将javaobject和field塞到xml里面去。。。其他的不清楚

I. 什么是序列化,在java中如何实现序列化

一、什么是序列化:序列化理解成“打碎”是可以的,不过在书本上的名词就是将对象转换成二进制。二、在java中如何实现序列化:首先我们要把准备要序列化类,实现 Serializabel接口例如:我们要Person类里的name和age都序列化import java.io.Serializable;public class Person implements Serializable { //本类可以序列化 private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public String toString(){ return "姓名:" + this.name + ",年龄" + this.age ; }}然后:我们将name和age序列化(也就是把这2个对象转为二进制,统族理解为“打碎”)package org.lxh.SerDemo;import java.io.File;import java.io.FileOutputStream;import java.io.ObjectOutputStream ;public class ObjectOutputStreamDemo { //序列化 public static void main(String[] args) throws Exception {//序列化后生成指定文件路径 File file = new File("D:" + File.separator + "person.ser") ; ObjectOutputStream oos = null ;//装饰流(流) oos = new ObjectOutputStream(new FileOutputStream(file)) ; //实例化类 Person per = new Person("张三",30) ; oos.writeObject(per) ;//把类对象序列化 oos.close() ; }}

J. java 中的序列化是什么意思

简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。

(1)什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;b)当你想用套接字在网络上传送对象的时候;c)当你想通过RMI传输对象的时候;(3)实现序列化(保存到一个文件)的步骤a)Make a FileOutputStream java 代码FileOutputStream fs = new FileOutputStream("foo.ser"); b)Make a ObjectOutputStream java 代码ObjectOutputStream os = new ObjectOutputStream(fs); c)write the objectjava 代码os.writeObject(myObject1); os.writeObject(myObject2); os.writeObject(myObject3); d) close the ObjectOutputStreamjava 代码os.close(); (4)举例说明java 代码import java.io.*; public class Box implements Serializable { private int width; private int height; public void setWidth(int width){ this.width = width; } public void setHeight(int height){ this.height = height; } public static void main(String[] args){ Box myBox = new Box(); myBox.setWidth(50); myBox.setHeight(30); try{ FileOutputStream fs = new FileOutputStream("foo.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(myBox); os.close(); }catch(Exception ex){ ex.printStackTrace(); } } }

总结:安全方面的原因,比如一个对象拥有private,public等field,对于一个要传输的对象,比如写到文件,或者进行rmi传输 等等,在序列化进行传输的过程中,这个对象的private等域是不受保护的。资源分配方面的原因,比如socket,thread类,如果可以序列化,进行传输或者保存,也无法对他们进行重新的资源分 配,而且,也是没有必要这样实现。


赞 (0)