Java對象的串行化和并行化是一對重要的概念。Java中的對象可以被序列化成字節流,以便在網絡傳輸或持久性存儲方面使用。同時,對象的并行化則是指在多處理器系統上并行運行Java程序中的對象。
Java中提供了Serializable接口,對象序列化和反序列化只需要實現此接口即可。例如:
public class Person implements Serializable { private String name; private int age; //getter and setter }
反序列化一個對象:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("file.txt")); Person person = (Person) ois.readObject();
Java并行化則需要使用Java并發包中的工具。例如,使用線程池進行并行執行任務:
ExecutorService executor = Executors.newFixedThreadPool(10); List<Future> futures = new ArrayList<>(); for (int i = 0; i < 100; i++) { futures.add(executor.submit(new MyTask(i))); } for (Future future : futures) { future.get(); } executor.shutdown();
其中,MyTask是一個實現了Callable接口的任務類。Callable接口與Runnable接口相比,可以返回一個計算結果,并且可以拋出受檢查異常。在執行MyTask時,線程池會創建多個子線程并行執行MyTask。