2013-08-14 4 views
1

바이트 스트림으로 변환 한 다음 조작하려고하는 객체가 있습니다. 객체를 serialize하고 싶지는 않지만 변환 만하면됩니다. 이 article, 자바 안전하지 않은 클래스가 사용되고 변환이 매우 빠릅니다 읽었습니다. 그러나 이에 대한 다른 빠른 해결책이 있습니까?Object를 Java의 Byte 스트림으로 변환하는 가장 빠른 방법은 무엇입니까?

+6

개체를 바이트 스트림으로 변환하면 * 직렬화됩니다. "기본 Java 바이너리 직렬화 메커니즘"을 사용하고 싶지는 않지만 여전히 직렬화 중입니다. 나중에 바이트로 무엇을하고 싶습니까? 나중에 개체를 다시 구성 할 수 있어야합니까? 동일한 VM 내에서? 다른 VM에서? 더 많은 문맥을 부여하면 정말 도움이 될 것입니다. –

+2

질문에 약간 혼란 스럽습니다. 바이트 스트림으로의 변환은 직렬화의 정의입니다. – Aurand

+0

코드를 입력하십시오 –

답변

1

당신이 제안한 것을 수행하기 위해 개발중인 많은 라이브러리가 있습니다. 나는이 포럼에서 그들 모두가 토론된다고 생각한다. https://groups.google.com/forum/#!forum/mechanical-sympathy 또한 관심있어하는 많은 주제가있을 수 있습니다.

요약하면 Unsafe 또는이를 사용하는 라이브러리를 사용하여 수행 할 수 있습니다. 사실 나는 내 자신의 것이지만, 또 다시 발전하고 있습니다.

많은 수의 GB 데이터가있는 경우에만 많은 노력이 필요합니다. 이 시점에서 GC 시간을 줄이고 힙의 크기를 줄이는 것이 단일 참조 해제를 저장하는 주요 장점입니다.

2

빠른 변환이 가능합니다. GSON lib를 사용할 수 있습니다. 그런 다음 json 문자열로 가져옵니다. 귀하의 요구 사항에 따라 문자열을 사용하십시오. 희망이 도움이됩니다.