服务器唯一id生成规则

简介:

   在使用hashCode的时候,发现会出现相同id,虽然几率很小。虽然发现并不是hashCode的原因,而是其他逻辑的问题。

  但是还是试着自己写了一个id生成器,有些id是int的,比如说任务id;有些id是long的,比如说玩家id。

先贴代码来看:


private static AtomicInteger id = new AtomicInteger(0);
    
    public static long getId()
    {
        return (ServerKit.getServerId() & 0xFFFF) << 48 | (System.currentTimeMillis()/1000L & 0xFFFFFFFF) << 16 | id.addAndGet(1) & 0xFFFF;
    }
    
    private static AtomicInteger IntId = new AtomicInteger(0);
    
    public static int getIntId()
    {
        return ((int)(System.currentTimeMillis() - 1000000000000L)/1000)<<16L | (IntId.addAndGet(1));
    }

     在生成玩家id的时候把服务器的id也参与,便于以后的合服。

      因为服务器是多线程,所以就用了 AtomicInteger 类型,不用再使用类似 sync等同步工具。


相关文章
|
4月前
|
弹性计算
阿里云服务器公网带宽收费标准:按固定带宽和使用流量计费规则
阿里云ECS公网带宽提供两种计费模式:按固定带宽和按使用流量计费。按固定带宽适合稳定需求场景,费用基于带宽值与使用时长;按使用流量计费适用于波动需求场景,按实际流量线性收费。出网流量收费,入网免费,带宽限制分别为100 Mbps(按流量)和200 Mbps(包年包月)。用户可根据业务特点选择最优方案,结合CDT免费流量额度进一步降低成本。详情参考官方文档。
|
弹性计算 负载均衡 数据库
2024阿里云服务器试用规则及云产品试用常见问题解答
2024年阿里云服务器可以试用吗?不仅是云服务器产品,包括无影云电脑、云数据库 RDS、统型负载均衡 CLB、对象存储 OSS、文件存储 NAS等云产品都是可以试用的,只是需要注意的是,我们在试用云服务器产品之后,免费试用权益无法与新用户优惠购买活动同享,也就是说,领取了云服务器ECS免费试用权益的用户,将不能参产品新用户的相关活动。本文为大家介绍2024年阿里云服务器和其他云产品的试用规则及试用常见问题解答。
2024阿里云服务器试用规则及云产品试用常见问题解答
|
弹性计算 网络协议 网络安全
阿里云服务器开通1723端口教程配置安全组规则
阿里云服务器安装PPTP需要1723端口,阿里云服务器默认没有开通1723端口,可以在云服务器安全组中开放1723端口
1230 0
阿里云服务器开通1723端口教程配置安全组规则
|
弹性计算 网络安全
阿里云服务器开放端口教程(通过配置安全组规则)
阿里云服务器开放端口是通过配置安全组规则来实现的,安全组是一种虚拟防火墙
88468 6
阿里云服务器开放端口教程(通过配置安全组规则)
|
存储 弹性计算 安全
阿里云ECS云服务器计算/通用/内存命名规则
阿里云ECS云服务器计算/通用/内存命名规则,阿里云服务器ECS分为多种实例规则,常见的有计算型c、通用型g和内存型r等,large代表vCPU核数,re内存增强、se代表存储增强、ne代表网络增强等,阿里云百科分享阿里云服务器ECS实例命名规则及举例说明:
381 0
阿里云ECS云服务器计算/通用/内存命名规则
|
存储 弹性计算 安全
阿里云服务器ECS实例规格命名规则
阿里云服务器ECS实例规格命名规则,阿里云服务器ECS分为多种实例规则,常见的有计算型c、通用型g和内存型r等,large代表vCPU核数,re内存增强、se代表存储增强、ne代表网络增强等,阿里云百科分享阿里云服务器ECS实例命名规则及举例说明:
502 0
阿里云服务器ECS实例规格命名规则
|
存储 弹性计算 安全
阿里云ECS实例规格族命名规则
阿里云ECS实例规格族命名规则,阿里云服务器ECS分为多种实例规则,常见的有计算型c、通用型g和内存型r等,large代表vCPU核数,re内存增强、se代表存储增强、ne代表网络增强等,阿里云百科分享阿里云服务器ECS实例命名规则及举例说明:
646 0
阿里云ECS实例规格族命名规则
|
存储 弹性计算 安全
云服务器ECS实例规格阿里云命名规则
阿里云服务器ECS分为多种实例规则,常见的有计算型c、通用型g和内存型r等,large代表vCPU核数,re内存增强、se代表存储增强、ne代表网络增强等,阿里云百科分享阿里云服务器ECS实例命名规则及举例说明:
424 0
云服务器ECS实例规格阿里云命名规则
|
弹性计算 负载均衡 小程序
阿里云服务器免费试用活动可试用配置、参与条件及规则汇总
2023阿里云服务器免费试用活动可试用配置、参与条件及规则汇总,阿里云服务器免费试用申请链接入口,阿里云个人用户和企业用户均可申请免费试用,最高可以免费使用3个月,阿里云服务器网分享阿里云服务器免费试用申请入口链接及云服务器配置
497 0
|
弹性计算 网络协议 安全
阿里云服务器开放端口教程(通过配置安全组规则)
阿里云服务器开放端口教程(通过配置安全组规则)阿里云服务器端口怎么打开?云服务器ECS端口在安全组中开启,轻量应用服务器端口在防火墙中打开,阿里云服务器网以80端口为例,来详细说下阿里云服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:
2662 0

热门文章

最新文章