有没有办法让我知道上一次在Java中访问字符串/整数是什么时候?
我将sessionID存储在字符串中,我想为它保留一个计时器。如果它空闲5分钟,我想关闭会话。 会话是在不同的jar中创建的,即第三方应用程序。无法编辑的。它只是将会话ID返回到我的Api 我所能做的就是使用我的会话id。 我正试图把会议集中起来。我们正在使用Jre 1.7 如果,则无法获取上次访问的字符串的时间戳。那么,我可以将该字符串存储在映射/列表中,并获取上次访问该字符串时该字符串的时间戳吗有没有办法让我知道上一次在Java中访问字符串/整数是什么时候?,java,string,session,timestamp,pooling,Java,String,Session,Timestamp,Pooling,我将sessionID存储在字符串中,我想为它保留一个计时器。如果它空闲5分钟,我想关闭会话。 会话是在不同的jar中创建的,即第三方应用程序。无法编辑的。它只是将会话ID返回到我的Api 我所能做的就是使用我的会话id。 我正试图把会议集中起来。我们正在使用Jre 1.7 如果,则无法获取上次访问的字符串的时间戳。那么,我可以将该字符串存储在映射/列表中,并获取上次访问该字符串时该字符串的时间戳吗 请帮帮我 lastTimeAccess的字符串类中没有此类属性/成员 您的猜测是正确的,您需要定
请帮帮我 lastTimeAccess的字符串类中没有此类属性/成员 您的猜测是正确的,您需要定义/实现您的自定义
Map<String,Long>
Map
当您需要仔细考虑字符串对象中的不可变特性时,标准java库中没有任何东西支持这一点;您必须构建自己的“包装器”类;并围绕这一点缓存基础设施。不要弄错了:把正确的变成一项高级任务 因此,我会非常小心自己做这件事。这是一个高级主题,我的建议是:寻找已经为您实现这一点的现有框架,如
严肃地说:在这里重新发明轮子时要小心 你可以通过自己的课程来解决这个问题:
公开课{
私有字符串sessionId;
私有长时间戳=System.currentTimeMillis()\1000;
私人长时长=60*5;
公共会话(字符串sessionId){
this.sessionId=sessionId;
}
公共布尔值isOutOfTime(){
if(this.timestamp+duration
public class Session {
private String sessionId;
private long timestamp = System.currentTimeMillis() \ 1000;
private long duration = 60 * 5;
public Session(String sessionId) {
this.sessionId = sessionId;
}
public boolean isOutOfTime() {
if (this.timestamp + duration < System.currentTimeMillis() \ 1000) {
return false;
} else {
return true;
}
}
}