//简单的对象池技术实现
public class MyClass{
public boolean inUse = false;
private static ArrayList<MyClass> list = new ArrayList<MyClass>();
private static byte[] sync = new byte[0];
private MyClass{}
public static MyClass allocPacket() {
synchronized (sync) {
MyClass obj;
for (int i = 0; i < list.size(); i++) {
obj = list.get(i);
if (!obj.inUse) {
obj.inUse = true;
return obj;
}
}
obj = new MyClass();
obj.reset();
list.add(obj);
obj.inUse = true;
return obj;
}
}
public void reset(){
inUse = false;
}
public static void clear(){
list.clear();
}
}
public class MyClass{
public boolean inUse = false;
private static ArrayList<MyClass> list = new ArrayList<MyClass>();
private static byte[] sync = new byte[0];
private MyClass{}
public static MyClass allocPacket() {
synchronized (sync) {
MyClass obj;
for (int i = 0; i < list.size(); i++) {
obj = list.get(i);
if (!obj.inUse) {
obj.inUse = true;
return obj;
}
}
obj = new MyClass();
obj.reset();
list.add(obj);
obj.inUse = true;
return obj;
}
}
public void reset(){
inUse = false;
}
public static void clear(){
list.clear();
}
}