有没有办法让我知道上一次在Java中访问字符串/整数是什么时候?

有没有办法让我知道上一次在Java中访问字符串/整数是什么时候?,java,string,session,timestamp,pooling,Java,String,Session,Timestamp,Pooling,我将sessionID存储在字符串中,我想为它保留一个计时器。如果它空闲5分钟,我想关闭会话。 会话是在不同的jar中创建的,即第三方应用程序。无法编辑的。它只是将会话ID返回到我的Api 我所能做的就是使用我的会话id。 我正试图把会议集中起来。我们正在使用Jre 1.7 如果,则无法获取上次访问的字符串的时间戳。那么,我可以将该字符串存储在映射/列表中,并获取上次访问该字符串时该字符串的时间戳吗 请帮帮我 lastTimeAccess的字符串类中没有此类属性/成员 您的猜测是正确的,您需要定

我将sessionID存储在字符串中,我想为它保留一个计时器。如果它空闲5分钟,我想关闭会话。 会话是在不同的jar中创建的,即第三方应用程序。无法编辑的。它只是将会话ID返回到我的Api

我所能做的就是使用我的会话id。 我正试图把会议集中起来。我们正在使用Jre 1.7

如果,则无法获取上次访问的字符串的时间戳。那么,我可以将该字符串存储在映射/列表中,并获取上次访问该字符串时该字符串的时间戳吗


请帮帮我

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;
     }
  }
}