클래스가 작성되면 접미사가 .java인 텍스트 파일에 저장됩니다. 간단히 말해서 클래스는 하드 디스크에 있습니다. 작성된 Java 파일을 .class 파일로 컴파일한 후 Java 가상 머신에 의해 로드되어 실행됩니다. 실행 시 클래스가 메모리에 표현됩니다. new 키워드로 생성된 인스턴스도 메모리에 존재합니다. 클래스 인스턴스는 메모리에 특정 저장 형식을 가지고 있는데(Java Virtual Machine 사양, 객체의 저장 형식 참조) 이는 실행되기 전에 하드 디스크에 있을 때의 저장 형식과 다릅니다.
직렬화란 인스턴스를 하드디스크의 메모리에 다른 저장 방식으로 저장하는 것을 말합니다("Core Java" 참조). 즉, 지속성이라고 합니다.
이런 방식으로 다른 사람들이 이 직렬화된 인스턴스의 데이터를 얻는 한 역직렬화를 통해 객체의 현재 상태를 복원할 수 있습니다.
rmi, rpc 등 직렬화 적용 시나리오가 많이 있습니다. 관련정보를 참고하실 수 있습니다.
클래스가 작성되면 접미사가 .java인 텍스트 파일에 저장됩니다. 간단히 말해서 클래스는 하드 디스크에 있습니다.
작성된 Java 파일을 .class 파일로 컴파일한 후 Java 가상 머신에 의해 로드되어 실행됩니다.
실행 시 클래스가 메모리에 표현됩니다.
new
키워드로 생성된 인스턴스도 메모리에 존재합니다.클래스 인스턴스는 메모리에 특정 저장 형식을 가지고 있는데(Java Virtual Machine 사양, 객체의 저장 형식 참조) 이는 실행되기 전에 하드 디스크에 있을 때의 저장 형식과 다릅니다.
직렬화란 인스턴스를 하드디스크의 메모리에 다른 저장 방식으로 저장하는 것을 말합니다("Core Java" 참조). 즉, 지속성이라고 합니다.
이런 방식으로 다른 사람들이 이 직렬화된 인스턴스의 데이터를 얻는 한 역직렬화를 통해 객체의 현재 상태를 복원할 수 있습니다.
rmi, rpc 등 직렬화 적용 시나리오가 많이 있습니다. 관련정보를 참고하실 수 있습니다.
1.rmi(원격 메소드 호출). 원격 개체에 메시지를 전달할 때 매개 변수 및 반환 값을 전달하려면 개체 직렬화가 필요합니다.
2. 직렬화된 객체를 디스크에 쓴 다음 프로그램이 다시 실행될 때 읽어오는 방식으로 경량 지속성을 구현합니다.