易截截图软件、单文件、免安装、纯绿色、仅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(myObject1);  
os.writeObject(myObject2);  
os.writeObject(myObject3); &n


相关文档:

Java IO学习笔记:字节流

Java IO学习笔记:字节流
字节流是最基本的流,文件的操作、网络数据的传输等等都依赖于字节流。而字符流常常用于读取文本类型的数据或字符串流的操作等等。
 
关于字节流的API,没什么好说的,看看就知道了。这里挑几个关键点:
 
一、InputStream的API
 
1、public int read()
从输入流读取下一个 ......

插入排序算法的JAVA实现

package Utils.Sort;
/**
*插入排序,要求待排序的数组必须实现Comparable接口
*/
public class InsertSort implements SortStrategy
{
       /**
       *利用插入排序算法对obj进行排序
       */
  ......

3.通过JNI加载java虚拟机

        前面已经分析了java命令加载java虚拟机的方法,即通过JNI和虚拟机交互。因此我们可以很容易的自己写相应的启动代码,实现在C++程序中执行java程序,调用java类的方法。
     要测试的Java类(Test.java)的代码是:
public class Test {
public Test( ......

Java中ReadOnly的集合

今天在CSDN逛论坛的时候无意中发现有人问在Java中是否有ReadOnly操作方式的集合,说实话在以往开发中各种集合用的很多,但是这个问题还真没有注意过。去Java的官方API文档查了一下,Collections中还真有这么个方法支持,方法原型如下:
unmodifiableCollection
public static <T> Collection<T> unmodifiable ......

Java zip 解压缩API

参数说明
fileName: 表示想解压的文件名   如:c:\\aaa\a.zip
unZipDir:  表示想解压到的路径   如:c:\\ccc
public static void unZip1(String fileName, String unZipDir) {
        try {
            Fil ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号