Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- SQL
- AOP
- select
- 메이븐
- 코테
- 프로그래머스
- MVC2
- @RestController
- 뉴렉처
- DDL
- Join
- 프레임워크
- @Controller
- 인프런
- STS
- JSP
- Model2
- 자바
- 서브쿼리
- 코딩테스트
- 롬복
- Model1
- toUpperCase
- 기술 대비
- 김영한
- MVC
- 스프링
- Lombok
- 서블릿
- 인텔리제이
Archives
- Today
- Total
Heestory
04.객체의 직렬화 본문
- 객체의 직렬화란 Java 시스템 내부에서 사용되는 객체(의 데이터)를 바이트 형태로 변환하여, 파일 또는 네트워크를 통해 스트림(송수신)이 가능하도록 만드는 것을 의미합니다.
- 객체에 저장된 데이터를 스트림에 쓰기 위해 연속(serial)적인 데이터로 변환하게 되므로 직렬화라고 부릅니다. 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것을 역직렬화라고 합니다.
- 직렬화를 하기 위해서는 java.io.Serializable인터페이스를 상속받은 객체는 직렬화할 수 있는 기본조건입니다.
#.직렬화를 사용하는 이유
JVM 메모리에 상주되어 있는 객체 데이터를 그대로 영속화 할 때 사용
시스템이 종료되어도 사라지지않는 데이터로 네트워크 전송하기 위해 사용
- 서블릿 세션들은 대부분 세션의 Java 직렬화를 지원하고 있습니다. 단순히 세션을 서블릿 메모리 위에서 운용한다면 직렬화가 필요없지만, 파일로 저장하거나 세션 클러스터링, DB를 저장하는 옵션등을 선택하게 되면 세션 자체가 직렬화되어 저장되어 전달됩니다.
- 캐시에서도 직렬화는 사용됩니다. 주로 DB를 조회한 후 가져온 데이터 객체 같은 경우 실시간 형태로 요구하는 데이터가 아니라면 메모리, 외부 저장소, 파일 등을 저장소를 이용해서 데이터 객체를 저장한 후 동일한 요청이 오면 DB를 다시 요청하는 것이 아니라 저장된 객체를 찾아서 응답하게 하는 형태를 캐시를 사용한다라고 말합니다. 캐시를 이용하면 DB 리소스를 절약할 수 있기 때문에 많은 시스템에서 자주 활용됩니다. 이렇게 캐시할 부분을 자바 직렬화된 데이터를 저장해서 사용됩니다.
'개발(~국비) > 기술면접' 카테고리의 다른 글
06.Static , class/Instance (0) | 2022.10.19 |
---|---|
05.스레드(Thread) (0) | 2022.10.19 |
02.자바 컬렉션 (3) | 2022.10.19 |
01.기본형 참조형 (0) | 2022.10.19 |
03.접근제어자(Access Modifier) (0) | 2022.10.10 |