문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:kryo [2015/06/22 14:48] kwon37xi [Hibernate LazyInitializationException with Kryo] |
java:kryo [2015/06/22 17:07] kwon37xi [기본 직렬화/역직렬화] |
||
---|---|---|---|
줄 6: | 줄 6: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | ===== 의존성 ===== | ||
+ | * 의존성 설정시 '' | ||
===== 기본 직렬화/ | ===== 기본 직렬화/ | ||
줄 15: | 줄 18: | ||
Kryo kryo = new Kryo(); | Kryo kryo = new Kryo(); | ||
+ | // maxBufferSize = -1 이면 무제한(actually Integer.MAX_VALUE) | ||
Output output = new Output(bufferSize, | Output output = new Output(bufferSize, | ||
kryo.writeClassAndObject(output, | kryo.writeClassAndObject(output, | ||
줄 57: | 줄 61: | ||
===== Kryo Object Pool ===== | ===== Kryo Object Pool ===== | ||
- | * Kryo 3.x 부터 Kryo Object Pool 기능이 생겨서 성능 향상에 도움이 될 수 있음.< | + | Kryo 3.x 부터 Kryo Object Pool 기능이 생겨서 성능 향상에 도움이 될 수 있음. |
+ | |||
+ | <code java> | ||
import com.esotericsoftware.kryo.Kryo; | import com.esotericsoftware.kryo.Kryo; | ||
import com.esotericsoftware.kryo.pool.*; | import com.esotericsoftware.kryo.pool.*; | ||
줄 81: | 줄 87: | ||
} | } | ||
}); | }); | ||
+ | </ | ||
+ | |||
+ | ===== 기본 생성자(No args constructor)가 없을 경우 ===== | ||
+ | * 기본 생성자가 존재하지 않을 경우에는 객체를 생성하지 못해서 오류가 발생한다. 단, private 으로라도 존재하면 괜찮다. | ||
+ | * 순수 Kryo만 사용할 때는 objenesis의 '' | ||
+ | * '' | ||
+ | * 안 될 경우 '' | ||
+ | Kryo kryo = new Kryo(); | ||
+ | kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new StdInstantiatorStrategy())); | ||
+ | </ | ||
+ | * '' | ||
+ | Kryo kryo = new KryoReflectionFactorySupport(); | ||
</ | </ | ||