테이블 로딩/리로딩 로직을 구현하는 TableHandler가 있습니다. 테이블이란 사용자가 테이블 개체의 형태로 디스크 또는 메모리에서 요청할 때 디스크 또는 메모리에서로드하는 데이터를 의미합니다. 새 요청이 도착하고 테이블의 인스턴스가 메모리에있는 경우 메모리에서 테이블을로드하고 디스크에서 테이블을 다시로드하지 않습니다. 찾고있는 테이블이 메모리에 없으면 디스크에서 테이블을로드합니다. 지금 내 요청이 늘어나면서 많은 테이블이 메모리에 저장되어 5 분 동안 초과되지 않은 5 분을 말한 후 메모리에서 일부 테이블을 자동으로 릴리스하려고합니다. 어떻게 구현할 수 있습니까? 는이 같은 tablehandler 클래스 구조가자동으로 5 분 후 같은 방법으로 메모리에서 데이터 테이블을 해제하는 방법
final class TableHandler{
/*
Data struct for storing information required for management
of the loaded table instances
*/
final static class Tableinfo{
/*
Table instance.. and other things like table when
last modified and whether to referench the table
when a next request arrives.
*/
}
getTable(){someInternalTableHandler.getTable()}
replacetable {someInternalTableHandler.replacetable()}
//Handles loading/reloading logic.
final static class someInternalTablehandler{
getTable(){...}
createTableInstance(){...}
replaceTable{...}
}
}
어떻게 위를 구현하는 내 코드에 로직을 말했다 수 있습니다 .... ??
나는 이미 tableinfo에서 마지막으로 수정 한 것과 같은 타임 스탬프 필드가 있습니다 ...하지만 타이머 작업을 구현하는 방법은 무엇입니까? ?? 코드가 좋을 것입니다 ... –
테이블 데이터를 지우는 구현으로 TimerTask를 확장하십시오 . 작업을 예약하려면 http://download.oracle.com/javase/6/docs/api/java/util/Timer.html을 사용하십시오. – jzd