publicclassMailboxIndexerCreaterextendsTimerTask{publicMailboxIndexerCreater(Mailboxsmailboxs,Stringwork_dir){newTimer().schedule(this,Time.MINUTE*0);}publicvoidrun(){ini...
public class MailboxIndexerCreater extends TimerTask{
public MailboxIndexerCreater(Mailboxs mailboxs, String work_dir){
new Timer().schedule(this, Time.MINUTE * 0);
}
public void run(){
initLuceneSearch();
system.out.println(“initialize lucene seccessfully”);
}
private void initLuceneSearch() {
for (int i = 0; i < 100; i++) {
Mailbox mailbox = (Mailbox) list.get(i);
createIndex(mailbox);
}
}
private void createIndex(Mailbox mailbox) {
for(int i = 0; i < 13; i++){
threads[i] = new IndexThread(mailbox, i + START_YEAR, password, fileIndex);
threads[i].start();
}
threads = null;
System.gc();
return;
}
大致代码结构如上,都提示nitialize lucene seccessfully了,可是从资源管理器中看到java的内存从这方法开始到结束占用了2个G的资源不会释放,求高手解答
展开