有什么方法可以让我知道最后一次在 Java 中访问 String/Integer 是什么时候?
is there any way where I can find out when was the last time a String/Integer was accessed in Java?
我将 sessionID 存储在 String 中,我想为它保留一个计时器,如果它空闲 5 分钟,我想关闭会话。
会话是在不同的 jar 中创建的,即第三方应用程序。无法编辑。它只是将会话 ID 返回到我的 Api。
我所能做的就是使用我拥有的会话 ID。
我正在尝试合并会话。我们正在使用 Jre 1.7
如果,我无法获取上次访问的字符串的时间戳。然后我可以将该字符串存储在 Map/List 中并获取上次访问该字符串的时间戳吗?
请帮帮我。
lastTimeAccess,
的字符串 class 中没有这样的 attribute/member
你猜对了,你需要define/implement你的习惯。
Map<String,Long>
您需要小心处理字符串对象中的不可变特性
标准 java 库中没有任何内容支持这个;您将不得不构建自己的 "Wrapper" class;并围绕它缓存基础设施。不要误会:正确 可能会成为一项 高级 任务!
因此我会非常小心自己。这是一个高级主题,我的建议是:寻找已经为您做到这一点的现有框架,例如 ehcachee.
说真的:小心在这里重新发明轮子。
你可以自己解决 class Session:
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;
}
}
}
我将 sessionID 存储在 String 中,我想为它保留一个计时器,如果它空闲 5 分钟,我想关闭会话。 会话是在不同的 jar 中创建的,即第三方应用程序。无法编辑。它只是将会话 ID 返回到我的 Api。
我所能做的就是使用我拥有的会话 ID。 我正在尝试合并会话。我们正在使用 Jre 1.7
如果,我无法获取上次访问的字符串的时间戳。然后我可以将该字符串存储在 Map/List 中并获取上次访问该字符串的时间戳吗?
请帮帮我。
lastTimeAccess,
的字符串 class 中没有这样的 attribute/member你猜对了,你需要define/implement你的习惯。
Map<String,Long>
您需要小心处理字符串对象中的不可变特性
标准 java 库中没有任何内容支持这个;您将不得不构建自己的 "Wrapper" class;并围绕它缓存基础设施。不要误会:正确 可能会成为一项 高级 任务!
因此我会非常小心自己。这是一个高级主题,我的建议是:寻找已经为您做到这一点的现有框架,例如 ehcachee.
说真的:小心在这里重新发明轮子。
你可以自己解决 class Session:
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;
}
}
}