易截截图软件、单文件、免安装、纯绿色、仅160KB

关于Java对象序列化您不知道的5件事

文章出处: http://java.chinaitlab.com/base/807715.html
Java对象序列化是JDK1.1中引入的一组开创性特性之一,之前51CTO也曾介绍过Java序列化的机制和原理,这里我们将使用Person来发现您可能不知道的关于Java对象序列化的5件事。
  实际上,序列化的思想是“冻结”对象状态,传输对象状态(写到磁盘、通过网络传输等等),然后“解冻”状态,重新获得可用的Java对象。所有这些事情的发生有点像是魔术,这要归功于ObjectInputStream/ObjectOutputStream类、完全保真的元数据以及程序员愿意用Serializable标识接口标记他们的类,从而“参与”这个过程。清单1显示一个实现Serializable的Person类。
  1.清单1.SerializablePerson
  2.packagecom.tedneward;
  3.
  4.publicclassPerson
  5.implementsjava.io.Serializable
  6.{
  7.publicPerson(Stringfn,Stringln,inta)
  8.{
  9.this.firstName=fn;this.lastName=ln;this.age=a;
  10.}
  11.
  12.publicStringgetFirstName(){returnfirstName;}
  13.publicStringgetLastName(){returnlastName;}
  14.publicintgetAge(){returnage;}
  15.publicPersongetSpouse(){returnspouse;}
  16.
  17.publicvoidsetFirstName(Stringvalue){firstName=value;}
  18.publicvoidsetLastName(Stringvalue){lastName=value;}
  19.publicvoidsetAge(intvalue){age=value;}
  20.publicvoidsetSpouse(Personvalue){spouse=value;}
  21.
  22.publicStringtoString()
  23.{
  24.return"[Person:firstName="+firstName+
  25."lastName="+lastName+
  26."age="+age+
  27."spouse="+spouse.getFirstName()+
  28."]";
  29.}
  30.
  31.privateStringfirstName;
  32.privateStringlastName;
  33.privateintage;
  34.privatePersonspouse;
  35.
  36.}
  将Person序列化后,很容易将对象状态写到磁盘,然后重新读出它,下面的JUnit4单元测试对此做了演示。
  37.清单2.对Person进行反序列化
  38.publicclassSerTest
  39.{
  40.@TestpublicvoidserializeToDisk()
  41.{
  42.try
  43.{
  44.com.tedneward.Personted=newcom.tedneward.Person("Ted","Neward",39);
  45.com.tedneward.Personcharl=newcom.tedne


相关文档:

浅谈Java 关键字


java关键字以前没什么注意,因为是很基础的东东。只是今天做SCJP题目,一看答案吓我大跳,翻转了我以往的错误观念。查阅了不少资料终于弄清楚了。题目如下:
Which are not Java keywords?
A. TRUE      B. sizeof   C. const    D. super   E. void
& ......

本文将告诉你学习Java需要达到的30个目标

本文将告诉你学习Java需要达到的30个目标,希望能够对你的学习有所帮助。对比一下自己,你已经掌握了这30条中的多少条了呢?
  1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
  2.你需要学习JAVA语言的基础 ......

flex通过blazeds与java实现增删改查 整个实现流程

1,建一个userdb库,再建userinfo表,字段:id(int),username(varchar),password(varchar)。
2,DBConnection.java
    package com.datainfo;  
 
  import java.sql.Connection;  
  import java.sql.DriverManager;  
  import java.sql.SQ ......

Java 实现插入式简单排序

插入式排序运行效率N*(N-1)/4  对于随机数字,这个算法比冒泡快1倍,比选择排序稍微快一点.
如果是基本有序的队列则优势最为明显需要O(N)
代码一样是从冒泡排序继承下来的.
 /**
*
* @author leon.lee
*/
public class InsertSort extends BubbleSort {
public InsertSort(int lengthArray){
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号