当前位置: 首页>>代码示例>>Java>>正文


Java ObjectMap类代码示例

本文整理汇总了Java中com.esotericsoftware.kryo.util.ObjectMap的典型用法代码示例。如果您正苦于以下问题:Java ObjectMap类的具体用法?Java ObjectMap怎么用?Java ObjectMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ObjectMap类属于com.esotericsoftware.kryo.util包,在下文中一共展示了ObjectMap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: read

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
@Override
public Object read(Kryo kryo, Input input, Class type) {
    try {
        ObjectMap graphContext = kryo.getGraphContext();
        ObjectInputStream objectStream = (ObjectInputStream) graphContext.get(this);
        if (objectStream == null) {
            objectStream = new ObjectInputStream(input) {
                @Override
                protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
                    return ClassUtils.getClass(KryoSerialization.class.getClassLoader(), desc.getName());
                }
            };
            graphContext.put(this, objectStream);
        }
        return objectStream.readObject();
    } catch (Exception ex) {
        throw new KryoException("Error during Java deserialization.", ex);
    }
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:20,代码来源:KryoSerialization.java

示例2: write

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void write(Kryo kryo, Output output, T o) {
	try {
		ObjectMap graphContext = kryo.getGraphContext();
		ObjectOutputStream objectStream = (ObjectOutputStream)graphContext.get(this);
		if (objectStream == null) {
			objectStream = new ObjectOutputStream(output);
			graphContext.put(this, objectStream);
		}
		objectStream.writeObject(o);
		objectStream.flush();
	} catch (Exception ex) {
		throw new KryoException("Error during Java serialization.", ex);
	}
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:17,代码来源:JavaSerializer.java

示例3: read

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public T read(Kryo kryo, Input input, Class aClass) {
	try {
		ObjectMap graphContext = kryo.getGraphContext();
		ObjectInputStream objectStream = (ObjectInputStream)graphContext.get(this);
		if (objectStream == null) {
			// make sure we use Kryo's classloader
			objectStream = new InstantiationUtil.ClassLoaderObjectInputStream(input, kryo.getClassLoader());
			graphContext.put(this, objectStream);
		}
		return (T) objectStream.readObject();
	} catch (Exception ex) {
		throw new KryoException("Error during Java deserialization.", ex);
	}
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:17,代码来源:JavaSerializer.java

示例4: write

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
public void write (Kryo kryo, Output output, T object) {
	CachedField[] fields = getFields();
	ObjectMap context = kryo.getGraphContext();
	if (!context.containsKey(this)) {
		context.put(this, null);
		if (TRACE) trace("kryo", "Write " + fields.length + " field names.");
		output.writeVarInt(fields.length, true);
		for (int i = 0, n = fields.length; i < n; i++)
			output.writeString(fields[i].field.getName());
	}

	OutputChunked outputChunked = new OutputChunked(output, 1024);
	for (int i = 0, n = fields.length; i < n; i++) {
		fields[i].write(outputChunked, object);
		outputChunked.endChunks();
	}
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:18,代码来源:CompatibleFieldSerializer.java

示例5: ObjectIntMap

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
/** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity * loadFactor items
 * before growing the backing table. */
public ObjectIntMap (int initialCapacity, float loadFactor) {
	if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
	if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
	capacity = ObjectMap.nextPowerOfTwo(initialCapacity);

	if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
	this.loadFactor = loadFactor;

	threshold = (int)(capacity * loadFactor);
	mask = capacity - 1;
	hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
	stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
	pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);

	keyTable = (K[])new Object[capacity + stashCapacity];
	valueTable = new int[keyTable.length];
}
 
开发者ID:abejfehr,项目名称:magic-realm,代码行数:20,代码来源:ObjectIntMap.java

示例6: ObjectIntMap

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
/**
 * Creates a new map with the specified initial capacity and load factor.
 * This map will hold initialCapacity * loadFactor items before growing the
 * backing table.
 */
@SuppressWarnings("unchecked")
   public ObjectIntMap(int initialCapacity, float loadFactor) {
	if (initialCapacity < 0)
		throw new IllegalArgumentException("initialCapacity must be >= 0: "
				+ initialCapacity);
	if (initialCapacity > 1 << 30)
		throw new IllegalArgumentException("initialCapacity is too large: "
				+ initialCapacity);
	capacity = ObjectMap.nextPowerOfTwo(initialCapacity);

	if (loadFactor <= 0)
		throw new IllegalArgumentException("loadFactor must be > 0: "
				+ loadFactor);
	this.loadFactor = loadFactor;

	threshold = (int) (capacity * loadFactor);
	mask = capacity - 1;
	hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
	stashCapacity = Math.max(3, (int) Math.ceil(Math.log(capacity)) * 2);
	pushIterations = Math.max(Math.min(capacity, 8),
			(int) Math.sqrt(capacity) / 8);

	keyTable = (K[]) new Object[capacity + stashCapacity];
	valueTable = new int[keyTable.length];
}
 
开发者ID:MosaicOwl,项目名称:the-erder,代码行数:31,代码来源:ObjectIntMap.java

示例7: read

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
@Override
public Object read(Kryo kryo, Input input, Class type)
{
  try {
    ObjectMap graphContext = kryo.getGraphContext();
    ObjectInputStream objectStream = (ObjectInputStream)graphContext.get(this);
    if (objectStream == null) {
      objectStream = new ObjectInputStreamWithKryoClassLoader(input, kryo);
      graphContext.put(this, objectStream);
    }
    return objectStream.readObject();
  } catch (Exception ex) {
    throw new KryoException("Error during Java deserialization.", ex);
  }
}
 
开发者ID:apache,项目名称:apex-malhar,代码行数:16,代码来源:KryoJavaSerializer.java

示例8: write

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
public void write (Kryo kryo, Output output, Object object) {
	try {
		ObjectMap graphContext = kryo.getGraphContext();
		ObjectOutputStream objectStream = (ObjectOutputStream)graphContext.get(this);
		if (objectStream == null) {
			objectStream = new ObjectOutputStream(output);
			graphContext.put(this, objectStream);
		}
		objectStream.writeObject(object);
		objectStream.flush();
	} catch (Exception ex) {
		throw new KryoException("Error during Java serialization.", ex);
	}
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:15,代码来源:JavaSerializer.java

示例9: read

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
public Object read (Kryo kryo, Input input, Class type) {
	try {
		ObjectMap graphContext = kryo.getGraphContext();
		ObjectInputStream objectStream = (ObjectInputStream)graphContext.get(this);
		if (objectStream == null) {
			objectStream = new ObjectInputStream(input);
			graphContext.put(this, objectStream);
		}
		return objectStream.readObject();
	} catch (Exception ex) {
		throw new KryoException("Error during Java deserialization.", ex);
	}
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:14,代码来源:JavaSerializer.java

示例10: buildValidFields

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
private List<Field> buildValidFields (boolean transientFields, List<Field> allFields, ObjectMap context, IntArray useAsm) {
	List<Field> result = new ArrayList(allFields.size());

	for (int i = 0, n = allFields.size(); i < n; i++) {
		Field field = allFields.get(i);

		int modifiers = field.getModifiers();
		if (Modifier.isTransient(modifiers) != transientFields) continue;
		if (Modifier.isStatic(modifiers)) continue;
		if (field.isSynthetic() && ignoreSyntheticFields) continue;

		if (!field.isAccessible()) {
			if (!setFieldsAsAccessible) continue;
			try {
				field.setAccessible(true);
			} catch (AccessControlException ex) {
				continue;
			}
		}

		Optional optional = field.getAnnotation(Optional.class);
		if (optional != null && !context.containsKey(optional.value())) continue;

		result.add(field);

		// BOZO - Must be public?
		useAsm.add(!Modifier.isFinal(modifiers) && Modifier.isPublic(modifiers)
			&& Modifier.isPublic(field.getType().getModifiers()) ? 1 : 0);
	}
	return result;
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:32,代码来源:FieldSerializer.java

示例11: getCachedSerializer

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
private JavaSerializer getCachedSerializer (Class type) {
  if (javaSerializerByType == null) {
		javaSerializerByType = new ObjectMap<Class, JavaSerializer>();
		return null;
  }

  return javaSerializerByType.get(type);
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:9,代码来源:ExternalizableSerializer.java

示例12: buildValidFields

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
private List<Field> buildValidFields (boolean transientFields, List<Field> allFields, ObjectMap context, IntArray useAsm) {
	List<Field> result = new ArrayList(allFields.size());

	for (int i = 0, n = allFields.size(); i < n; i++) {
		Field field = allFields.get(i);

		int modifiers = field.getModifiers();
		if (Modifier.isTransient(modifiers) && !transientFields) continue;
		if (Modifier.isStatic(modifiers)) continue;
		if (field.isSynthetic() && ignoreSyntheticFields) continue;

		if (!field.isAccessible()) {
			if (!setFieldsAsAccessible) continue;
			try {
				field.setAccessible(true);
			} catch (AccessControlException ex) {
				continue;
			}
		}

		Optional optional = field.getAnnotation(Optional.class);
		if (optional != null && !context.containsKey(optional.value())) continue;

		result.add(field);

		// BOZO - Must be public?
		useAsm.add(!Modifier.isFinal(modifiers) && Modifier.isPublic(modifiers)
			&& Modifier.isPublic(field.getType().getModifiers()) ? 1 : 0);
	}
	return result;
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:32,代码来源:FieldSerializer.java

示例13: shrink

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
/** Reduces the size of the backing arrays to be the specified capacity or less. If the capacity is already less, nothing is
 * done. If the map contains more items than the specified capacity, the next highest power of two capacity is used instead. */
public void shrink (int maximumCapacity) {
	if (maximumCapacity < 0) throw new IllegalArgumentException("maximumCapacity must be >= 0: " + maximumCapacity);
	if (size > maximumCapacity) maximumCapacity = size;
	if (capacity <= maximumCapacity) return;
	maximumCapacity = ObjectMap.nextPowerOfTwo(maximumCapacity);
	resize(maximumCapacity);
}
 
开发者ID:abejfehr,项目名称:magic-realm,代码行数:10,代码来源:ObjectIntMap.java

示例14: shrink

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
/**
 * Reduces the size of the backing arrays to be the specified capacity or
 * less. If the capacity is already less, nothing is done. If the map
 * contains more items than the specified capacity, the next highest power
 * of two capacity is used instead.
 */
public void shrink(int maximumCapacity) {
	if (maximumCapacity < 0)
		throw new IllegalArgumentException("maximumCapacity must be >= 0: "
				+ maximumCapacity);
	if (size > maximumCapacity)
		maximumCapacity = size;
	if (capacity <= maximumCapacity)
		return;
	maximumCapacity = ObjectMap.nextPowerOfTwo(maximumCapacity);
	resize(maximumCapacity);
}
 
开发者ID:MosaicOwl,项目名称:the-erder,代码行数:18,代码来源:ObjectIntMap.java

示例15: read

import com.esotericsoftware.kryo.util.ObjectMap; //导入依赖的package包/类
public T read (Kryo kryo, Input input, Class<T> type) {
	T object = create(kryo, input, type);
	kryo.reference(object);
	ObjectMap context = kryo.getGraphContext();
	CachedField[] fields = (CachedField[])context.get(this);
	if (fields == null) {
		int length = input.readVarInt(true);
		if (TRACE) trace("kryo", "Read " + length + " field names.");
		String[] names = new String[length];
		for (int i = 0; i < length; i++)
			names[i] = input.readString();

		fields = new CachedField[length];
		CachedField[] allFields = getFields();
		outer:
		for (int i = 0, n = names.length; i < n; i++) {
			String schemaName = names[i];
			for (int ii = 0, nn = allFields.length; ii < nn; ii++) {
				if (allFields[ii].field.getName().equals(schemaName)) {
					fields[i] = allFields[ii];
					continue outer;
				}
			}
			if (TRACE) trace("kryo", "Ignore obsolete field: " + schemaName);
		}
		context.put(this, fields);
	}

	InputChunked inputChunked = new InputChunked(input, 1024);
	boolean hasGenerics = getGenerics() != null;
	for (int i = 0, n = fields.length; i < n; i++) {
		CachedField cachedField = fields[i];
		if(cachedField != null && hasGenerics) {
			// Generic type used to instantiate this field could have 
			// been changed in the meantime. Therefore take the most 
			// up-to-date definition of a field
			cachedField = getField(cachedField.field.getName());
		}
		if (cachedField == null) {
			if (TRACE) trace("kryo", "Skip obsolete field.");
			inputChunked.nextChunks();
			continue;
		}
		cachedField.read(inputChunked, object);
		inputChunked.nextChunks();
	}
	return object;
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:49,代码来源:CompatibleFieldSerializer.java


注:本文中的com.esotericsoftware.kryo.util.ObjectMap类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。