객체에 대해 직렬화가 어떻게 작동하는지 알 수 있습니까? 나는 인터넷 검색을 시도했다. 그러나 그런 이유로 나는 항상 세부 사항에서 길을 잃는다. 클래스의 private/public 변수, 정적 변수 및 private/public 메서드가있는 객체를 직렬화 할 때 알아야합니다. 모든 것이 직렬화되거나 변수 만 얻습니까? 마찬가지로 여러 가지 방법으로 객체를 가진 나쁜 습관이 있는데, 이들은 일련의 활동을 통해 전달되도록 직렬화 될 것입니다.직렬화, 직렬화 된 객체에 여러 메소드가있는 것이 좋지 않습니까?
답변
개체의 상태 만 직렬화됩니다 - 필드, 즉. 메서드 자체는 직렬화되지 않습니다. 그러나 생성 된 버전 번호도 효과적으로 상태의 일부이며, 어떤 메서드가 있는지에 따라 다릅니다. 이 동작은 serialVersionUid
필드로 변경할 수 있지만, 여전히 까다 롭습니다.
개인적으로 난 강력하게 자바 바이너리 직렬화를 사용에 대한 을 권하고 싶습니다 - 그 뒤로 앞으로 compatilility을 관리하기 정말 매우 까다로운 것으로 끝납니다. 다른 직렬화 프레임 워크를 사용할 수 있습니다. 일반적으로 Java 직렬화보다 시작하기 위해 더 많은 작업이 필요하지만 더 많은 이식 가능하고 유지 보수가 용이합니다. 개인적으로 나는 Protocol Buffers의 팬이지만 편향되어 있습니다.
@ 루이스 와서 만 : 에헴, 물론,;). –
감사합니다. 저는 serialVersionUid를 사용하면서 클래스에 30 개의 메소드를 추가하면 직렬화가 복잡하거나 시간이 많이 걸리지 않을 것입니다. – Snake
@Snake : 저장된 데이터를 변경하지 않을 것입니다. –
- 1. @ApplicationScoped JSF 관리 Bean을 직렬화 가능하게 만드는 것이 좋지 않습니까?
- 2. 함수를 jQuery 객체에 연결하는 것이 좋지 않습니까?
- 3. 여러 대형 객체에 대한 PHP 객체 직렬화
- 4. 객체에 직렬화 해제
- 5. 모든 페이지로드시 데이터베이스 직렬화 된 데이터를 읽고 쓰는 것이 좋지 않습니까?
- 6. 직렬화 된 객체에 고유 ID 추가
- 7. 직렬화 된 객체에 메타 데이터가 포함됩니까?
- 8. 직렬화 된 객체에 사용자 정의 속성 추가
- 9. Neo4j의 객체에 직렬화 된 데이터 저장
- 10. 직렬화 된 객체에 xsi : schemaLocation을 추가하는 방법
- 11. 이 것이 직렬화 가능합니까?
- 12. XML을 부분적으로 객체에 비 직렬화
- 13. : 직렬화 배열의 객체에 내가이 일을하고
- 14. JSON을 LINQ 객체에 비 직렬화
- 15. 데이터 객체에 추상 클래스를 사용하는 것이 얼마나 좋지 않습니까?
- 16. 직렬화
- 17. 직렬화 객체에 사용하는 것이 더 좋습니다. JsonSerializer 또는 JsonConvert
- 18. MediaScannerConnection.scanFile을 사용하는 것이 좋지 않습니까?
- 19. PHP : 객체를 직렬화하고 나중에 데이터베이스에 저장하는 것이 좋지 않습니까?
- 20. .NET의 직렬화 여러 종류의
- 21. Beautify PHP 직렬화 된 문자열
- 22. 대형 객체 단일 시간 직렬화/직렬화 해제 작은 객체를 여러 번 직렬화/직렬화 해제 하시겠습니까?
- 23. DateTime XML 직렬화 역 직렬화
- 24. 직렬화 된 null 값의 크기
- 25. jQuery - 직렬화 된 문자열의 직렬화 해제
- 26. 자바에서 직렬화 된 PHP 객체의 비 직렬화
- 27. PHP 직렬화 된 데이터 직렬화 해제
- 28. MQMessage 직렬화/비 직렬화
- 29. MySQL의 여러 테이블 또는 직렬화 된 데이터
- 30. 직렬화 및 비 직렬화
아마 [이 기사] (http://docs.oracle.com/javase/7/docs/platform/serialization/spec/protocol.html) 도움이 될 것입니다. 또한 [여기] (http://stackoverflow.com/questions/14730150/how-does-java-serialise-the-implementationsof-methods-within-an-object/14730752#14730752) 비슷한 질문이 있습니다. – Pshemo
고마워 .. 좋은 링크 – Snake