- 浏览: 133590 次
文章分类
- 全部博客 (149)
- Java (41)
- 设计模式 (23)
- php (2)
- C++ (2)
- Linux (6)
- C (1)
- JavaEE (27)
- javascript (2)
- uplodify (1)
- Mybatis (2)
- Maven (4)
- Lucene (3)
- commons (1)
- Spring (7)
- SQL (3)
- mahout (1)
- MySQL (2)
- extjs4.2.1 (2)
- ubuntu (1)
- hadoop (1)
- hibernate (1)
- Spring JPA (2)
- JPA 2.0 (1)
- express (1)
- redis (2)
- angularjs (1)
- git (1)
- Python (1)
- logging (2)
最新评论
-
xlaohe1:
controller返回的是一个POJO对象,然后用@Resp ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
能帮到你,我也很高兴。
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
jobzjc:
第一段有帮到我。如果是非对象,Object方式传递的时候,第一 ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
dingran 写道为什么,我怎么就没找到System > ...
Ubuntu 12.04 设置 IBus 开机启动 -
dingran:
为什么,我怎么就没找到System >> Pref ...
Ubuntu 12.04 设置 IBus 开机启动
package com.bjfu.chapter11; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; 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; } @Override public String toString() { return "Box [width=" + width + ", height=" + height + "]"; } public void readObjectFromFile() { FileInputStream fs = null; ObjectInputStream is = null; try { fs = new FileInputStream("foo.ser"); is = new ObjectInputStream(fs); //每次调用readObject 都会从流出读出一个对象。 //读取顺序与写入顺序相同。 Box b = (Box) is.readObject(); System.out.println(b); b = (Box) is.readObject(); System.out.println(b); } catch (Exception e) { e.printStackTrace(); } finally { try { is.close(); fs.close(); } catch (Exception e) { e.printStackTrace(); } } } public static void main(String[] args) { Box box = new Box(); box.setWidth(50); box.setHeight(20); Box box1 = new Box(); box1.setWidth(100); box1.setHeight(50); FileOutputStream fs = null; ObjectOutputStream os = null; try { fs = new FileOutputStream("foo.ser"); os = new ObjectOutputStream(fs); //每次调用writeObject 都会向流出写入一个对象。 os.writeObject(box); os.writeObject(box1); } catch (Exception e) { e.printStackTrace(); } finally { try { os.close(); fs.close(); } catch (IOException e) { e.printStackTrace(); } } new Box().readObjectFromFile(); } } 10. 序列化,将被序列化的对象写到文件中,然后就可以让你的程序去文件中读取序列化的对象并把它们展开到活生 生的状态。 11. 将串流(stream)连接起来代表来源于目的地(文件或网络端口)的连接。串流必须要连接到某处才能算是个串流。 对象被序列化的时候发生了什么?在堆上的对象有状态-实例变量的值。这些值让同一类的不同实例有不同的 意义。 序列化的对象保存了实例变量的值,因此之后可以在堆上带回一模一样的实例。 当对象还带有对其他对象的引用怎么办? 当对象被序列化时,被该对象引用的实例变量也会被序列化。且所有被引用的对象也会被序列化。最棒的是, 这些操作都是自动进行的。 12. 如果要让类能够被序列化,就要实现 serializable 接口。序列化接口没有方法或字段,仅用于标识可序列化的语义。 13. 序列化是全有或全无的。不能够只有部分状态被正确保存下来。 14. 如果某实例变量不能或不应该被序列化,就把它标记为 transient (瞬时的)。 class Chat implements Serializable { transient String currentID; String userName; //...... } 15. 如果两个对象都有引用实例变量指向相同的对象会怎样?例如两个Cat 都有相同的 Owner 对象,Owner对象 会被存储两次吗? 序列化能够分辨两个对象是否相同。在此情况下,只有一个对象会被存储,其他引用会被复原成指向该对象。 16. 解序列化(Deserialization)时,如果找不到或无法加载被解的类时,Java 虚拟机会抛出异常。 17. 如果对象在继承树上有个不可序列化的祖先类,则该不可序列化类及在它之上的类的构造函数(就算是可序列化 的也一样)就会执行。一旦构造函数连锁启动之后将无法停止。也就是说,从第一个不可序列化的父类开始, 全部都会重新初始状态。 18. 静态变量不会被序列化,当对象被还原的时候,静态变量会维持类中原本的样子,而不是存储时的样子。 19. 如果父类实现序列化,则子类也就自动地有实现,而不管是否有明确的声明。
发表评论
-
java.lang.IllegalArgumentException: Unable to initialize due to invalid secret k
2017-01-04 13:07 3673因为某些国家的进口管制限制,Java发布的运行环境包中的加解 ... -
Spring 4.x Task 和 Schedule 概述
2016-09-30 22:27 860https://zhangzhaoyu.github.io/2 ... -
Java SPI机制
2016-07-11 15:23 8631. 概述 SPI为Service Provider Inte ... -
获取ClassLoader加载目标类的路径
2016-04-01 12:16 2154ClassLoader加载的目标类的路径。 publi ... -
Java Validator 泛型化实现
2015-12-07 14:58 8371. Java 的static 方法无法访问泛型类的类型参数 ... -
Java 实现Tuple
2015-12-07 14:08 833在一次方法调用就能返回多个对象,实现return 的这个功能 ... -
Java 中队列和递归
2015-07-25 11:08 671public class DataConversion { ... -
Maven 非Web 项目log4j 配置
2015-06-21 14:51 1354Maven 非Web 项目log4j.properties 文 ... -
Java 多线程异常捕捉
2015-04-09 10:57 546package org.anicloud.concurre ... -
Java Comparable 和 Comparator 比较
2015-04-01 01:10 456Java Comparable 和 Comparator 比 ... -
Maven 运行jar
2015-03-26 16:34 487<?xml version="1.0&qu ... -
Java 回调
2015-01-07 16:38 515public interface CallBack { ... -
Eclipse中Cannot find any provider supporting DES解决之道
2014-10-21 14:29 714Eclipse中Cannot find any provide ... -
Spring 事务相关
2014-07-02 17:35 458... -
Java RMI简单实例
2014-06-16 22:39 499public interface MyRemote ext ... -
设计模式-组合模式
2014-06-15 12:46 444当有数个对象的集合,它们彼此之间有“整体/部分”的关系,并且 ... -
Java 自定义栈结构
2014-06-13 19:03 768public class LinkedStack<T ... -
Java 文件关闭的位置
2014-06-12 10:35 638public class InputFile { pr ... -
Java 回调机制
2014-06-11 13:13 568Class A实现接口CallBack callback—— ... -
Java 内部类
2014-06-10 22:59 586当生成一个内部类的对象时,此对象与制造它的外围对象就有了一种 ...
相关推荐
序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例...虽然你可以用你自己的各种各样的方法来保 存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
其中包括以下接口和类: java.io.Serializable java.io.Externalizable ObjectOutput ObjectInput ObjectOutputStream ObjectInputStream Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前为第7页。...
Java中的序列化机制有两种实现方式: 一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何...
虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化3、如何实现序列化将
一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可(还要实现无参数的构造方法)。该接口是一个标记式接口,它本身不包含任何内容,实现了该接口则表示这个类准备支持序列化的功能。...
意义:序列化机制允许将实现序列化的Java对象转换为字节序列,并将字节序列保存在磁盘中,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使地对象可以脱离程序的运行而独立存在。 使用场景:所有在网络上...
Java中对象的序列化(serialization)允许把采用Serializable接口的任何对象转换成字节流序列;同时它也允许把字节流序列转换回对象本身。其机制不依赖于操作系统,也就是说,你可以通过网络传递该对象,并在网络...
六、序列化和反序列化:解释了Java中序列化和反序列化的概念,以及通过实现Serializable接口进行对象的序列化和反序列化的过程。 七、内部类和匿名类:介绍了Java中的内部类和匿名类的概念,包括不同类型的内部类...
Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数 据包大小混合,消费者和提供者个数差不多,可传文件,传输协议 TCP。 多个短连接,TCP 协议传输,同步传输,适用常规的远程服务调用和 ...
相比于传统的Java序列化机制,它的优点如下: 可插拔的类解析器,提供更加便捷的类加载定制策略,通过一个接口即可实现定制; 可插拔的对象替换技术,不需要通过继承的方式; 可插拔的预定义类缓存表,可以减小序列...
1.serialVersionUID-->适用于Java的序列化机制: 2.具体化序列化过程: 3.serialVersionUID有两种显示的生成方式:
常见的序列化方式一、Protocol BufferProtocol Buffers(也称protobuf)是Google公司设计的一种独立于开发语言,独立于平台的可扩展的结构化数据序列机制。通俗点来讲它跟xml和json是一类。是一种数据交互格式协议。...
rmi : 采用 JDK 标准的 rmi 协议实现,传输参数和返回参数对象需要实现 Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数 据包大小混合,消费者和提供者个数差不多,可传文件,传输协议 ...
在 Java 中,能够被序列化的类必须先实现 Serializable 接口,该接口没有任何抽象方法只是起到一个标记作用。对象序列化可以将一个 Java 对象写入到文件中。例如: ```java public class Test { public static ...
序列化(Serializable) 将对象写到流中并将其读回的过程 接口(interface) 只声明方法而不实现,数据成员必须初始化且不能更改的特殊类 抽象类(abstract class) 仅定义了方法的部分实现,而留待扩展类去提供这些方法...
Android 序列化机制在 Android 系统中关于序列化的方法一般有两种,分别是实现 Serializable 接口和 Parcelable 接口Serializable 是来自 Java 中的序列化接口Parcelable 是 Android 自带的序列化接口上述的两种序列...
使用xstream序列化的类不需要实现serializable接口。xstream是一种序列 化工具而不是数据绑定工具,就是说不能从xml或者xml schema definition (xsd)文件生成类。 和其他序列化工具相比,xstream 有三个突出的特点...
支持基于Cbor序列化规范的实现 支持基于FSE序列化框架实现 支持基于FST序列化框架实现 支持基于hessian序列化框架实现 支持基于Jdk Serializable规范实现 支持基于easyjson,jackson实现 支持基于Kryo序列化框架实现...
但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...