Serialize 직렬화

devKirin·2020년 4월 22일
0

Serialize(직렬화) 란?

  • 클래스 인스턴스 데이터를 raw data(byte[]) 형태로 변환하여 외부 Java 시스템에서도 사용가능 하게하는 데이터 변환
  • 당연한 얘기지만 클래스 내에 선언된 method가 아닌 field의 데이터만 변환된다.

사용법

  • java.io.Serializable 을 상속한다. (구현체는 없다)

사용하는 곳

  • cache, servlet session 등
  • 번외지만 CSV, JSON 등의 변환 라이브러리 사용시에 필요할 수도 있다.

주의 사항

  • 당연한 얘기지만 Java 시스템이 아니면 무의미 하다(사용할 수 없다).
  • serialVersionUID 의 선언에 따라 직렬화/역직렬화의 결과가 다를 수 있다.
  • 클래스 Meta 데이터를 포함하고 있어, 실제 데이터보다 사이즈가 크다.

참고
https://woowabros.github.io/experience/2017/10/17/java-serialize.html
https://woowabros.github.io/experience/2017/10/17/java-serialize2.html

profile
Throw hat over the windmill

0개의 댓글