직렬화 가능 인터페이스를 구현하는 클래스는 인터페이스에 메소드가 없기 때문에 정확히 구현합니다. 또한 네트워크를 통해 객체의 상태를 유지하는 데 어떻게 도움이됩니까?자바에서 Serializable 인터페이스가 필요합니까? 인터페이스에 메소드가 없기 때문에. 객체의 상태를 어떻게 유지합니까?
답변
상태 자체는 유지되지 않습니다. 그러나 클래스를 직렬화가 필요한 것으로 표시하고 런타임은 해당 클래스와 그 구성 요소를 직렬화하는 것을 알고 있습니다 (transient
으로 표시된 필드 제외).
명시 적으로 과도serialisable 및 필드로서 클래스를 표시하는 유용한 (즉 직렬화 생략). 그렇지 않으면 실수로 네트워크상의 전송을 위해 프로그램에서 모든 것을 직렬화 할 수 있습니다. 그럴 가능성은 당신이 원하는 것이 아닙니다. 공장과 같은 엔티티를 직렬화하고 싶지는 않을 것입니다. 암호 같은 자격 증명도 없습니다. 페이로드 크기는 말할 것도없이 :-)
인터페이스는 상태를 유지하지 않습니다. Remotable과 같은 마커 인터페이스입니다.
마커 인터페이스입니다. 즉, 여기에 추가 토론이 있습니다 : What is the use of marker interfaces in Java?
요약하면 인터페이스는 런타임에 유형 정보를 검사하는 반사 기반 코드를 통해 사용되며 해당 객체가 해당 인터페이스를 구현하면 특정 동작이 수행됩니다 (Serializable의 경우 : 객체가 스트림에 저장되거나로드됩니다. 위키
:이 파일에 저장된, 메모리 버퍼, 또는되도록
는 .... 직렬화 비트 시퀀스로 데이터 구조를 변환하거나 개체의 과정 네트워크 연결 링크를 통해 전송됩니다.
직렬화되지 않은 개체로는 수행 할 수없는 일련 화 된 개체로 작업을 수행 할 수 있습니다. 웹 서비스를 사용하여 클라이언트에서 서버로 데이터를 전달하는 대신 모든 정보를 직렬화 된 빈에 넣고 xml 구문 분석 및 바인딩을 피할 수 있습니다.
직렬화 된 빈을 파일로 작성하여 데이터베이스에 blob로 저장할 수 있습니다.
직렬화 된 인터페이스는 지속적인 수준과 내구성을 구현할 수있는 기능을 제공합니다.
일련 번호은 마커 인터페이스입니다. 직렬화 가능 인터페이스는 java가 구현 클래스 객체를 직렬화 할 수 있음을 인식하게합니다 (객체의 바이트 정보를 파일 또는 다른 채널에 쓰는 것을 의미). 즉, 클래스 객체를 직렬화 할 수있게하려면 클래스를 직렬화 가능 인터페이스로 플래그 지정해야합니다. 그렇지 않은 경우는, 오브젝트를 직렬화하지 않는 것처럼 IOException를 슬로우합니다.
왜이 예외가 발생합니까? 왜냐하면 개발자는 객체 직렬화에 대해 결정해야하고 나중에 동일한 객체를 직렬화하면 어떤 용도로든 사용되지 않을 것이기 때문입니다. 직렬화 개발자를 사용하지 않을 때는 자신이나 다른 개발자가 자신의 클래스를 사용하여 객체를 직렬화하려고하지 않을 것입니다. 예를 들어 Socket 클래스를 예로 들어 보겠습니다. 직렬화 가능 인터페이스를 구현하지 않을 수 있습니다. 왜냐하면 소켓 및 직렬화 애플리케이션을 직렬화하고 애플리케이션을 다시 시작하고 동일한 소켓 객체를 deserialize 할 수 있기 때문입니다. 소켓을 통해 연결된 서버가 다운되는 동안 의미 있음. 소켓 클래스 객체를 직렬화하는 용도가 있습니까?
- 1. Apache에서 세션 상태를 어떻게 유지합니까?
- 2. dzone.com은 div의 상태를 어떻게 유지합니까?
- 3. 인터페이스가 [Serializable]이 아닌 이유는 무엇입니까?
- 4. Serializable 표준 클로저 인터페이스가 있습니까?
- 5. 자바에서 serializable 작업은 어떻게됩니까?
- 6. 앱 구매시 바이너리가 없기 때문에
- 7. 클로저에서 어떻게 멀티 메소드가 필요합니까?
- 8. Google 어스 클라이언트와 세션 상태를 어떻게 유지합니까?
- 9. 여러 웹 서버에서 상태를 어떻게 유지합니까?
- 10. serialVersioUID가 인터페이스에 필요합니까 (아니겠습니까)?
- 11. .NET에 자동 가비지 컬렉터가 있기 때문에 왜이 Dispose() 메소드가 필요합니까?
- 12. 는 지원 포스트 데이터가 없기 때문에,
- 13. 스레드에서 Stop() 메소드가 필요합니까?
- 14. django의 Form 클래스는 상태를 유지합니까?
- 15. 로드 밸런싱 서버에서 상태를 유지합니까?
- 16. xammp 문제는 실행할 수 없기 때문에
- 17. 도구는 그가 어떤 프로그래밍 경험이 없기 때문에
- 18. Javascript가 없기 때문에 Javascript가 정렬되어 OK일까요?
- 19. COM 인터페이스에 마샬링을 사용하려면 무엇이 필요합니까?
- 20. RESTful 웹 서비스의 인터페이스가 필요합니까?
- 21. Hibernate는 엔티티 객체의 더티 상태를 어떻게 탐지합니까?
- 22. 'Collection'개체를 호출 할 수 없습니다. 'Collection'객체에서 'mapReduce'메소드를 호출하려는 경우 해당 메소드가 없기 때문에 실패합니다.
- 23. "순수한"IDispatch 인터페이스에 프록시/스텁 DLL이 필요합니까?
- 24. AJAX 응답 후에 어떻게 체크 박스 상태를 유지합니까?
- 25. ViewModels에서 작업하는 모델의 삭제를 어떻게 처리하고 동기화 상태를 유지합니까?
- 26. WCF Data Services에서 세션 상태를 유지합니까?
- 27. 객체의 상태를 기반으로 객체의 인터페이스를 변경하는 방법은 무엇입니까?
- 28. 이 속성은 내 객체의 인터페이스에 속해야합니까?
- 29. Xcode 4 : "app.ipa"가 없기 때문에 보관 유효성 검사가 실패합니다!
- 30. 사용 가능한 그래픽 환경이 없기 때문에 오류가 발생했습니다.
마커 인터페이스 대신 주석을 사용할 수있었습니다. 그러나 Java 1.0 - 1.4에서는 주석을 사용할 수 없었습니다. –