: 객체를 다른 컴퓨터의 자바로 전송하기 위해
객체(Object or Data) → 바이트 스트림(stream of bytes) 형태로 변환하는 기술
: 바이트(byte)로 변환된 데이터 → 원래대로(Object or Data) 변환하는 기술

: 1 byte를 입출력 할 수 있는 스트림
public interface Serializable {
}
---------------------------------
import java.io.Serializable;
class Student implements Serializable {
int id;
int age;
public Student(int id, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
: 직렬화 되면 안되는 값엔 데이터 타입 앞에 transient를 붙인다.

javaimport java.io.Serializable;
class Student implements Serializable {
int id;
transient int age; // *직렬화 제외*
public Student(int id, int age) {
this.name = name;
this.age = age;
}
: 하나의 작업을 분할해 각각의 코어가 병렬적으로 처리하는 것

List<Integer> list = Arrays.asList(1, 2, 3, 4);
list.parallelStream().reduce(0, Integer::sum);
참고
직렬화
https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%A7%81%EB%A0%AC%ED%99%94Serializable-%EC%99%84%EB%B2%BD-%EB%A7%88%EC%8A%A4%ED%84%B0%ED%95%98%EA%B8%B0
https://be-a-weapon.tistory.com/139
https://www.scientecheasy.com/2021/07/serialization-in-java.html/
https://www.scaler.com/topics/transient-keyword-in-java/
병렬처리
https://girawhale.tistory.com/131
https://www.baeldung.com/java-when-to-use-parallel-stream