Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase on current Kryo trunk #1

Merged
merged 30 commits into from
Jan 25, 2014
Merged

Rebase on current Kryo trunk #1

merged 30 commits into from
Jan 25, 2014

Conversation

romix
Copy link
Owner

@romix romix commented Jan 25, 2014

No description provided.

NathanSweet and others added 30 commits November 21, 2013 15:28
…. It is called sun.misc.Unsafe and not java.misc.Unsafe ;-)
…work in the same way as AsmCacheField and UnsafeCacheField. All of them optimize for speed and ignore any custom registered serializers for primitive types for now.
…set of fields by means of rebuildCachedFields, remove all fields that were removed before.
…aultInstantiatorStrategy implements the usual Kryo behavior, where it tries to invoke a no-arg constructor when it needs to create a new instance.

But when org.objenesis.strategy.StdInstantiatorStrategy is used, then new instances are created without invoking a no-arg constructor, even if such a constructor is available. This improves Kryo's performance on fast-serialization tests (see issue #138)
- DateSerializer now properly handles Date subclasses.
- Added a new default serialzer por java.util.Locale.
Update to DateSerializer and new LocaleSerializer
This shall support (de)serialization of cglib proxies.
A cglib proxy is typically serialized with a class name like e.g.
  FOO_org.example.MyClass$$EnhancerByCGLIB$$580cffdd
which, during deserialization, is the input to DefaultClassResolver.readName.

Because readName invokes Class.forName such proxies could not be
deserialized (Class.forName obviously would fail), this change shall
make it possible to resolve a valid type for such class names (a valid
type is a type for that a Registration exists).

For a real use case see CGLibProxySerializer (and Test) in kryo-serializers.
Kryo can't be used since it thinks the object has already been serialized, Kryo would write a reference ID instead of the object.
romix added a commit that referenced this pull request Jan 25, 2014
@romix romix merged commit 1603b8a into romix:master Jan 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants