序列化与反序列化,

序列化与反序列化,使用场景,在spark中executor执行task时的

task类

public class Task implements Runnable, Serializable {
    public void run() {
        System.out.println(Thread.currentThread().getName() + "_" + new Date());
    }
}
public class File2Object {
    public static void main(String[] args) throws Exception {
        ObjectInputStream oi = new ObjectInputStream(new FileInputStream("d:\\test\\task"));
        Task task = (Task)oi.readObject();
        ExecutorService es = Executors.newFixedThreadPool(5);
        es.execute(task);
        Thread.sleep(2000);
        es.shutdown();

    }
}
public class Object2File {
    public static void main(String[] args) throws Exception {
        Task task = new Task();
        ObjectOutputStream objectOutputStream= new ObjectOutputStream(new FileOutputStream("d:\\test\\task"));
        objectOutputStream.writeObject(task);

        objectOutputStream.close();

    }
}

task被写到文件经过网络传输到达另一个节点然后执行,(移动计算)

posted @ 2017-08-29 18:00  牵牛花  阅读(133)  评论(0编辑  收藏  举报