andysern
andysern
采纳率6.3%
2016-07-20 05:09

java map创建以后,能保留多久呢,生命周期有限制吗?

在做一个功能,socket服务器把接入的客户端socket都存入一个map里面保存,建立长连接,
有数据需要发送到客户端的时候就直接从map里调出这个客户端的socket发送数据给它。

所以在想一个问题,我服务器端创建的这个map可以保存多久呢?会不会过一段时间就被清理掉了?我也不想存在文件里,那样可能会比较慢吧,而且根据客户端的心跳包随时保持
长连接,随时都要遍历map,看是否心跳被更新,如果没有心跳就要从map里去掉这个socket。

所以想请教一下大家,map的生命周期是多久啊?(之前在servlet里,用了一个application来保存map,application肯定是随服务器一直存在,当时map本身是否有周期呢?)

谢谢大家了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    application肯定是随服务器一直存在
    这就不对,如果长时间没有用户访问,application是可以被tomcat回收的。
    要持续保持,必须写入文件、数据库。

    点赞 1 评论 复制链接分享
  • anmiaochu 京城阿飞 5年前

    个人感觉声明一个全局map来存数据不太优雅,建议使用redis。

    点赞 评论 复制链接分享
  • u011606457 _1_1_7_ 5年前

    申明成全局变量,永久保存

    点赞 评论 复制链接分享

相关推荐