Просто позвольте объекту StringBuilder выйти из области видимости (в закрывающей фигурной скобке) и не загромождайте свой код ненужными операторами, пытаясь заставить сборщик мусора выполнять свою работу быстрее. Когда объект StringBuilder выходит из области видимости, он становится пригодным для сборки мусора. Держите ваш исходный код в чистоте.
То, в чем Вы нуждаетесь, является ObjectPool. Apache выезда Пул палаты общин http://commons.apache.org/pool
При запуске приложения необходимо создать Пул объектов с лицензиями или объектами коммерческой библиотеки (Не уверенный, какой открытый интерфейс они имеют).
public class CommercialObjectFactory extends BasePoolableObjectFactory {
// for makeObject we'll simply return a new commercial object
@Override
public Object makeObject() {
return new CommercialObject();
}
}
GenericObjectPool pool = new GenericObjectPool(new CommercialObjectFactory());
// The size of pool in our case it is N
pool.setMaxActive(N)
// We want to wait if the pool is exhausted
pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK)
И когда Вам нужен коммерческий объект в Вашем коде.
CommercialObject obj = null;
try {
obj = (CommercialObject)pool.borrowObject();
// use the commerical object the way you to use it.
// ....
} finally {
// be nice return the borrwed object
try {
if(obj != null) {
pool.returnObject(obj);
}
} catch(Exception e) {
// ignored
}
}
Если это не будет тем, что Вы хотите затем, то необходимо будет обеспечить больше детали о коммерческой библиотеке.
Я думаю о SessionListener для постепенного увеличения количества, когда сессия создается, и постепенно уменьшите его, когда сессия делается недействительным или испытывает таймаут и аспект для защиты вызовов к URL. Но дизайн, который ясно женится на этих двух идеях вместе, ускользает от меня.
Spring имеет org.springframework.aop.interceptor. ConcurrencyThrottleInterceptor, который может использоваться через AOP (или базовый код может использоваться автономный). Это могло бы быть более легким подходом веса, чем использование пула объектов.