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

我对Java Serializable(序列化)的总结

1、序列化是干什么的?
       简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
2、什么情况下需要序列化  
    a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
    b)当你想用套接字在网络上传送对象的时候;
    c)当你想通过RMI传输对象的时候;
3、当对一个对象实现序列化时,究竟发生了什么?
    在没有序列化前,每个保存在堆(Heap)中的对象都有相应的状态(state),即实例变量(instance ariable)比如:
   
java 代码
Foo  myFoo = new Foo();  
myFoo .setWidth(37);  
myFoo.setHeight(70);  
     
       当 通过下面的代码序列化之后,MyFoo对象中的width和Height实例变量的值(37,70)都被保存到foo.ser文件中,这样以后又可以把它 从文件中读出来,重新在堆中创建原来的对象。当然保存时候不仅仅是保存对象的实例变量的值,JVM还要保存一些小量信息,比如类的类型等以便恢复原来的对 象。
java 代码
FileOutputStream fs = new FileOutputStream("foo.ser");  
ObjectOutputStream os = new ObjectOutputStream(fs);  
os.writeObject(myFoo);  
4、实现序列化(保存到一个文件)的步骤
       a)Make a FileOutputStream            
java 代码
FileOutputStream fs = new FileOutputStream("foo.ser");    
       b)Make a ObjectOutputStream           
java 代码
ObjectOutputStream os =  new ObjectOutputStream(fs);   
       c)write the object
java 代码
os.writeObject


相关文档:

Java基础篇:(三)类与对象

一、关系
在java中,最基本的单位就是类。类是一个抽象概念,是某一类事物或物品的属性以及行为的集合。对象则是指某一具体的事物或物品,是实实在在的。举例说明一下:有一个电脑类,属性有键盘、鼠标等等,行为如打字、学习等等,我有这样一台电脑,那这台电脑就是一个电脑类的对象。
二、对象的声明与创建
 &nbs ......

Java密码加密


Java代码
package com.sunnylocus.util;   
  
import java.security.MessageDigest;   
  
/**   
 * 对密码进行加密和验证的类  
 */  
public class CipherUtil{   
   &nb ......

JAVA读取Oracle中的blob图片字段并显示

近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库读取blob字段数据,对图片byte数据进行缩放等;特此记录,给自己备忘,给大家参考。
整个流程分为四步,连接oracle数据库 -> 读取blob图片字段 -> 对图片进行缩放 ->把图片展示在 ......

Java环境变量的常用配置


ANT_HOME   D:\apache-ant-1.8.0-bin\apache-ant-1.8.0
AXIS2_HOME  D:\axis2-1.5.1
MAVEN_HOME  D:\apache-maven-2.2.1
java_home    C:\Program Files\Java\jdk1.6.0_18
 
 
path C:\ProgramFiles\Java\jdk1.6.0_18\bin;%AXIS2_HOME%/bin;%MAVEN_HOME%\bin;
%ANT_ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号