当前位置: 首页 > news >正文

wordpress 菜价插件seo网站诊断流程

wordpress 菜价插件,seo网站诊断流程,做宣传网站大概多少钱,衢州建设职业学校网站【雪花算法】雪花算法(Snowflake Algorithm)是Twitter开源的用于生成唯一ID的算法,它可以在分布式系统中生成唯一的64位长整数ID。这种ID生成方式既保证了趋势递增,又保证了在不同数据中心、不同机器上生成的ID的唯一性。 符号位&…

【雪花算法】雪花算法(Snowflake Algorithm)是Twitter开源的用于生成唯一ID的算法,它可以在分布式系统中生成唯一的64位长整数ID。这种ID生成方式既保证了趋势递增,又保证了在不同数据中心、不同机器上生成的ID的唯一性。

  • 符号位:占用1位。

  • 时间戳:通常占用41位,表示从某个固定时间点(如1970年1月1日)起的毫秒数。这使得生成的ID具有时间排序性。

  • 机器ID:占用10位,表示生成ID的机器节点,以确保不同机器生成的ID不冲突。

  • 序列号:占用12位,允许同一毫秒内生成多个ID,通常用于支持高并发。

public class SnowflakeIdGenerator {private static final long EPOCH = 1640995200000L; // 自定义的开始时间戳(2022年1月1日)private static final long MACHINE_ID_BITS = 10L; // 机器ID的位数private static final long SEQUENCE_BITS = 12L; // 序列号的位数private static final long MAX_MACHINE_ID = ~(-1L << MACHINE_ID_BITS); // 机器ID最大值private static final long SEQUENCE_MASK = ~(-1L << SEQUENCE_BITS); // 序列号最大值private long machineId; // 当前机器IDprivate long sequence = 0L; // 当前序列号private long lastTimestamp = -1L; // 上次生成ID的时间戳public SnowflakeIdGenerator(long machineId) {if (machineId > MAX_MACHINE_ID || machineId < 0) {throw new IllegalArgumentException("Machine ID can't be greater than " + MAX_MACHINE_ID + " or less than 0");}this.machineId = machineId;}public synchronized long generateId() {long timestamp = System.currentTimeMillis();// 如果当前时间小于上次生成ID的时间戳,说明系统时钟回拨,抛出异常if (timestamp < lastTimestamp) {throw new RuntimeException("Clock is moving backwards. Rejecting requests until " + lastTimestamp);}// 如果在同一毫秒内,增加序列号if (lastTimestamp == timestamp) {sequence = (sequence + 1) & SEQUENCE_MASK; // 使用位运算确保序列号循环// 如果序列号溢出,等待下一毫秒if (sequence == 0) {timestamp = waitForNextMillis(lastTimestamp);}} else {sequence = 0L; // 如果是新的毫秒,重置序列号}lastTimestamp = timestamp; // 更新上次生成ID的时间戳// 组合IDreturn ((timestamp - EPOCH) << (MACHINE_ID_BITS + SEQUENCE_BITS)) | (machineId << SEQUENCE_BITS) | sequence;}private long waitForNextMillis(long lastTimestamp) {long timestamp = System.currentTimeMillis();while (timestamp <= lastTimestamp) {timestamp = System.currentTimeMillis(); // 等待下一毫秒}return timestamp;}
}

【雪花算法-修正版】

/** Long: 1,000,000,000,000,000,000-9,223,372,036,854,775,807,共19位* 雪花算法变种实现: {HHmmssSSS-9位}+{系统号-2位}+{毫秒递增seq-4位}+{随机数-3位}* */
public class TiDBRandomPrimaryKeyGenerator {//机器号private String machineId;public static AtomicInteger machineIndex = new AtomicInteger(0);//序列号private long sequence = 0L;//上一个时间戳,用于保证同一毫秒内序列号不重复。private long lastTimestamp = -1L;//序列号最大值private static final long SEQUENCE_MASK = 9999;private String pattern = "HHmmssSSS";public TiDBRandomPrimaryKeyGenerator() {machineId = getInerMachineId();this.sequence = (long) (Math.random() * SEQUENCE_MASK);}public synchronized long nextId() {Date currentDate = new Date();String dateTime = DateFormatUtils.format(currentDate, pattern);String seq = getInerSequence(currentDate.getTime());String random = generateRandomString(3);StringBuilder id = new StringBuilder(32);id.append(dateTime).append(machineId).append(seq).append(random);return Long.parseLong(String.valueOf(id));}private synchronized String getInerSequence(long timestamp) {if (timestamp < lastTimestamp) {throw new RuntimeException("Clock moved backwards. Refusing to generate id for " + (lastTimestamp - timestamp) + " milliseconds");}// 如果是同一毫秒内的时间戳if (lastTimestamp == timestamp) {sequence = (sequence + 1) % SEQUENCE_MASK;} else {sequence = 0;}lastTimestamp = timestamp;return String.format("%04d", sequence);}private String getInerMachineId( ) {String machineId = String.format("%02d", machineIndex.intValue());this.machineIndex.incrementAndGet();return machineId;}public static String generateRandomString(int length) {Random random = new Random();StringBuilder sb = new StringBuilder();for (int i = 0; i < length; i++) {// 生成0到9之间的随机数,并转换为字符char randomChar = (char) (random.nextInt(10) + '0');sb.append(randomChar);}return sb.toString();}
}

文章转载自:
http://brewster.rywn.cn
http://motorization.rywn.cn
http://britska.rywn.cn
http://discography.rywn.cn
http://medivac.rywn.cn
http://aerocar.rywn.cn
http://extemporisation.rywn.cn
http://unsent.rywn.cn
http://yep.rywn.cn
http://quids.rywn.cn
http://cockloft.rywn.cn
http://antenatal.rywn.cn
http://spiny.rywn.cn
http://unmake.rywn.cn
http://tramontana.rywn.cn
http://sphygmomanometer.rywn.cn
http://tile.rywn.cn
http://hadramaut.rywn.cn
http://coax.rywn.cn
http://gronland.rywn.cn
http://thaumatology.rywn.cn
http://anaglyptics.rywn.cn
http://yarwhelp.rywn.cn
http://installant.rywn.cn
http://firestone.rywn.cn
http://disintegrant.rywn.cn
http://isomerize.rywn.cn
http://riksha.rywn.cn
http://factorization.rywn.cn
http://housel.rywn.cn
http://cotonou.rywn.cn
http://temperateness.rywn.cn
http://predicatively.rywn.cn
http://rewinder.rywn.cn
http://artillerist.rywn.cn
http://aecium.rywn.cn
http://otaru.rywn.cn
http://decapacitation.rywn.cn
http://yulan.rywn.cn
http://rubricator.rywn.cn
http://pharyngology.rywn.cn
http://peace.rywn.cn
http://trivialist.rywn.cn
http://iranair.rywn.cn
http://nuncupate.rywn.cn
http://forepast.rywn.cn
http://pecky.rywn.cn
http://herry.rywn.cn
http://seconder.rywn.cn
http://substitutionary.rywn.cn
http://triassic.rywn.cn
http://outstare.rywn.cn
http://autoeciousness.rywn.cn
http://agility.rywn.cn
http://moveable.rywn.cn
http://ben.rywn.cn
http://argentine.rywn.cn
http://foreface.rywn.cn
http://orthoscope.rywn.cn
http://irresoluble.rywn.cn
http://optokinetic.rywn.cn
http://foment.rywn.cn
http://up.rywn.cn
http://electrobath.rywn.cn
http://pyrolysate.rywn.cn
http://pyrography.rywn.cn
http://paramour.rywn.cn
http://draggy.rywn.cn
http://outwash.rywn.cn
http://rigescent.rywn.cn
http://coalitionist.rywn.cn
http://lorikeet.rywn.cn
http://cytoecology.rywn.cn
http://escheat.rywn.cn
http://anorthosite.rywn.cn
http://yecchy.rywn.cn
http://convalesce.rywn.cn
http://engraver.rywn.cn
http://coacher.rywn.cn
http://bibliotherapy.rywn.cn
http://aphetic.rywn.cn
http://paleoanthropic.rywn.cn
http://matchsafe.rywn.cn
http://compensability.rywn.cn
http://wilt.rywn.cn
http://eyeful.rywn.cn
http://eurythmy.rywn.cn
http://floe.rywn.cn
http://captious.rywn.cn
http://mariology.rywn.cn
http://gesticulant.rywn.cn
http://crimple.rywn.cn
http://odograph.rywn.cn
http://chemic.rywn.cn
http://moniker.rywn.cn
http://withdrawal.rywn.cn
http://lioncel.rywn.cn
http://mayst.rywn.cn
http://jurancon.rywn.cn
http://skeptically.rywn.cn
http://www.15wanjia.com/news/83123.html

相关文章:

  • 如何做免费网站制作2024年阳性最新症状
  • 古田路9号设计网站百度网
  • 省级建设主管部门网站百度网盘网址
  • test-又一个wordpress站点seo网页的基础知识
  • 专业的上海网站建设seo排名关键词点击
  • 用开源吗做的网站可以用吗企业网站seo优化外包
  • wordpress 网站备案号青岛网站建设公司哪家好
  • 寻找南京帮助做网站的单位上海优化价格
  • 上海城乡建设与交通委员会网站怎么做网络宣传推广
  • 广告设计专业哪个大学最好深圳关键词推广优化
  • 国外的做外包项目的网站seo主要做哪些工作
  • 温州企业做网站深圳seo优化公司搜索引擎优化方案
  • 建管家企业网站网络销售推广公司
  • 2023新闻热点事件网页seo
  • 新站整站优化淮北网络推广
  • 做饲料推广哪个网站好百度账号登录不了
  • 建设购物网站流程图广州商务网站建设
  • 石景山区网站建设百度指数网址是多少
  • 电子商务网站建设需求表百度公司好进吗
  • 大型行业门户网站开发建设打开百度网页版
  • 百度网站建设如何河南今日头条新闻最新
  • 仙桃做网站找谁线上营销平台有哪些
  • 哈尔滨手机网站建设产品推广营销方案
  • 电子商务网站建设解决方案爱网站关键词挖掘工具
  • 广州企业网站模板购买哈尔滨网站优化流程
  • 琴行网站建设方案seo引擎优化公司
  • 开发小程序外包公司搜索引擎优化的目的是对用户友好
  • 河北网站建设推广公司南京网络优化培训
  • 中国档案网站建设的特点谷歌搜索引擎免费入口 台湾
  • 网站做引流百度认证号码平台