java 共享内存变量问题

ilrxx ilrxx 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在想做个类似于负载均衡轮询,目前只需要rr 轮叫(Round Robin)这种最简单的方式,即什么都不用管,1显示完了,下次访问显示2,再显示3,都显示完了,再轮回到1,于是我做了下面一个小例子,我知道我需要一个东西来保存我上次访问的位置,就叫访问位置因子吧,我不需要文件或者数据库这种额外的存储介质,我只要放到内存中。
问题来了,下面的例子始终会打印1,而不是1,2,1,2.....,这是因为每次又把i重新设置为了-1,我想知道我怎样存储这个访问位置因子(i),比如我访问过0位置,那么下次访问i是从0开始的,而不是-1,谢谢


public static Integer i ;

static{
i = -1;
}

public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>();
v.add(1);
v.add(2);
i = (i +1)%v.size();
System.out.println(v.get(i));
i ++;
if(i >= v.size())
i = -1;
}


...全文
评论 16
收藏 已收藏
分享
返回顶部
ilrxx
Java SE 62,621 成员 307,251 内容