selectormap.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 54 行
JAVA
54 行
/*
* $Id: SelectorMap.java,v 1.2 2004/02/15 11:06:18 epr Exp $
*/
package org.jnode.vm.classmgr;
import org.jnode.util.BootableHashMap;
import org.jnode.vm.VmSystemObject;
/**
* This class is used to maintain a mapping between a method signature (name+type)
* and a unique selector.
*
* @author epr
*/
public class SelectorMap extends VmSystemObject {
private final BootableHashMap map = new BootableHashMap(8192);
private int lastSelector = 1;
/**
* Gets the selector for a given name & type
* @param name
* @param signature
* @return The global unique selector
*/
public int get(String name, String signature) {
final String id = name + '#' + signature;
final Integer selector = (Integer)map.get(id);
if (selector != null) {
return selector.intValue();
} else {
return getNew(id);
}
}
/**
* Get was not able to get a selector, do a synchronized test
* and create a new selector if needed.
*
* @param id
* @return The selector
*/
private synchronized int getNew(String id) {
Integer selector = (Integer)map.get(id);
if (selector != null) {
return selector.intValue();
} else {
final int sel = ++lastSelector;
map.put(id, new Integer(sel));
return sel;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?