Class Record{
static long start_nanoTime=System.nanotime();
public static void recording(Message message) {
Calendar c1=Calendar.getInstance();
int year=c1.get(Calendar.YEAR);
int month=c1.get(Calendar.MONTH);
int day=c1.get(Calendar.DAY_OF_MONTH);
int hour=c1.get(Calendar.HOUR_OF_DAY);
int min=c1.get(Calendar.MINUTE);
GregorianCalendar gc = new GregorianCalendar(year, month, day, hour, min);
Date d=gc.getTime();
long timestamp=(d.getTime())/60000;//precision till minute
Map<Long,StoreMessage> map1=new TreeMap<Long,StoreMessage>();
long precise_time=TimeUnit.MIllISECONDS.toNanos(System.currentTimeMillis())+(System.nanoTime-start_nanotime);
map1.put(timestamp, new StoreMessage(precise_time,message));
}
}
上面的类试图在的树形图中存储消息类的对象及其创建时间(类StoreMessage 的树形图) >类记录作为时间戳键的值,精度为分钟。
Class StoreMessage{
public StoreMessage(long time, Message message){
Map<Long,Message> map2=new TreeMap<Long,Message>();
map2.put(time,message);
}
}
如果这是必需的方法,此代码是否有效? 此外,如果在经过的每一分钟之后(根据时间戳),我必须将 map1 序列化为 byte [] ,因为 ObjectOutputStream ,我该怎么做呢?如果我必须使用 exact_time 保持每个连续消息到达之间的时间差,我该怎么做?