▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

자바의 직렬화(Serializable) 설명

JAVA 조회 수 7013 추천 수 0 2008.01.18 08:21:00
object serialize 나 marshalling 이나 동일한 개념인데요.. 일단 쉽게 생각하기 위해서 C의 structure를 예로 들겠습니다.

struct A {
char *buf;
int nsec;
} a;

a.buf = "1234";
a.nsec = 10;

위와 같은 structure가 있다고 할 때, 이 structure의 data를 network을 통해 다른 process로 전달한다고 가정해 봅시다.
buf에는 현재 프로세스에서의 buf의 pointer가 저장되어 있고, nsec에는 그대로 integer값이 들어가 있습니다.
이때 nsec은 network을 통해 전달이 된다고 해도 문제가 되지 않습니다. 원하는 값이 그대로 들어가 있기 때문이죠. 하지만 buf는 문제가 됩니다. 우리가 전달하고자 원하는 값은 "1234" 라는 string인데 전달되는 값은 이 string이 저장되어 있는 memory의 address이기 때문입니다.

이런 문제 때문에 network을 통해 pointer를 포함한 structure를 전송할 때, 혹은 file이나 database에 저장할 때에는 marshalling을 합니다. marshalling이란 원하는 내용(여기서는 buf의 pointer가 아니라 "1234"라는 값)을 보낼 수 있도록 전달하는 구조체를 변경시키는 일이지요.

반대로 network으로부터 내용을 받았을때와 file이나 database로부터 내용을 읽은 후에는 unmarshalling 과정을 통해 원래의 structure의 형태를 복원합니다.

동일한 의미를 객체에 적용시키면 됩니다.
marshalling은 object serialization으로 unmarshalling은 object deserialization으로 바꾸어 생각하시면 됩니다.

참고할만한 문서는

http://oopsla.snu.ac.kr/~jwryoo/research/java/serial/
http://www.javastudy.co.kr/docs/lec_java/io/lecture.htm

등입니다.




출처 : http://kdaq.empas.com/qna/view.html?n=3095428&sq=%C0%DA%B9%D9+%C1%F7%B7%C4%C8%AD
문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
15 JAVA 이클립스에 톰캣서버 연동하기 file 뭉충닷컴 2008-03-21 10426
14 JAVA while문 이용하여 텍스트파일에 쓰여진 글 읽기 뭉충닷컴 2008-02-26 9476
13 JAVA 오늘 날짜 구하기 뭉충닷컴 2008-02-22 11268
12 JAVA Java 형변환 정리 뭉충닷컴 2008-02-06 13414
11 JAVA HashMap, TreeMap, Hashtable 사용법 정리 file 뭉충닷컴 2008-01-29 29660
10 JAVA value 값이 Ljava.lang.String 형일 때 실제 값 보기 뭉충닷컴 2008-01-29 10903
9 JAVA 톰캣(tomcat) 4.x 버젼에서 한글/UTF-8 사용하기 file 뭉충닷컴 2008-01-28 8486
8 JAVA RMI, IIOP에 대한 설명 뭉충닷컴 2008-01-22 6871
» JAVA 자바의 직렬화(Serializable) 설명 뭉충닷컴 2008-01-18 7013
6 JAVA BLOB으로 저장된 사진정보 파일로 받기 이영진 2007-08-31 14790
5 JAVA classes12와 ojdbc14의 CLOB 처리 비교 이영진 2007-08-30 13757
4 JAVA classes12와 ojdbc14 connection 선언시 차이 [1] 이영진 2007-08-30 9054
3 JAVA java, infix를 postfix로 만들기 file 뭉충닷컴 2007-04-05 11919
2 JAVA "==" 과 "equals()" 의 차이점 뭉충닷컴 2003-11-04 6817
1 JAVA split와 StringTokenizer 비교 뭉충닷컴 2003-11-04 9492