雪花算法生成id重复的坑

雪花算法生成id重复的坑,第1张

它的时间判断参数是一个成员变量,生命周期跟着当前类走。而调用的方法并不是个单例模式,所以每次新建一个对象,其内部判定的时间判断参数都是独立存在的,这样的话在并行程序的过程中,是有可能生成相同的id的。原本怀疑是否是使用了java8的stream的原因。然而发现,人家默认就是串行流,要使用并行流是需要而外加方法的,所以和这个没有关系。

解决方法,写一个IdentifierGeneratorutil,既然DefaultIdentifierGenerator的Sequence不是单例,那么我们就在外层做 *** 作,把调用到的IdentifierGenerator变成单例。IdWorker这个类是MyBatisPlus雪花算法的实现,直接调用其方法获取,它内部是单例实现的。ps(若没有特殊需求,用官方提供的就好了)。雪花算法的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等。最高位是符号位,始终为0,不可用。41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。10位的机器标识,10位的长度最多支持部署1024个节点。12位的计数序列号,序列号即一系列的自增id,可以支持同一节点同一毫秒生成多个ID序号,12位的计数序列号支持每个节点每毫秒产生4096个ID序号。

putArr=documentgetElementsByClassName() ()("input的class名称");

putArr=documentgetElementById()("input的id");

putArr=documentgetElementsByName("input的名称");

for(var i=0;i<inputArrlength;i++){

alert(inputArr[i]id);

}

扩展资料

Document 对象事件

1、onactivate,当对象设置为活动元素时触发。

2、onbeforeactivate,对象要被设置为当前元素前立即触发。

3、onbeforecut,当选中区从文档中删除之前在源对象触发。

4、onbeforedeactivate,在 activeElement 从当前对象变为父文档其它对象之前立即触发。

5、onbeforeeditfocus,在包含于可编辑元素内的对象进入用户界面激活状态前或可编辑容器变成控件选中区前触发。

6、onbeforepaste,在选中区从系统剪贴板粘贴到文档前在目标对象上触发。

7、onclick,在用户用鼠标左键单击对象时触发。

8、onmouseover,鼠标指针移到对象时触发

9、onmouseout,鼠标指针移出对象时触发 

Document 对象方法

1、attachEvent,将指定函数绑定到事件,以便每当该事件在对象上触发时都调用该函数。

2、clear,目前尚未支持。

3、close,关闭输出流并强制将数据发送到显示。

4、createAttribute,以指定名称创建 attribute 对象。

5、createComment,以指定数据创建 comment 对象。

6、createDocumentFragment,创建一个新文档。

7、createElement,为指定标签创建一个元素的实例。

8、createEventObject,生成当使用 fireEvent 方法时用于传递事件相关信息的 event 对象。

9、createStyleSheet,为文档创建样式表。

10、createTextNode,从指定值中创建文本字符串。

11、detachEvent,从事件中取消指定函数的绑定,这样当事件触发时函数就不会收到通知了

12、write(),动态向页面写入内容

13、createElement(Tag),创建一个html标签对象  

14、getElementById(ID),获得指定ID值的对象  

15、getElementsByName(Name),获得指定Name值的对象

示例

下面的例子使用了 document 对象检查文档标题并在消息框中显示该标题(如果非空)。

if (documenttitle!="") alert("标题为 " + documenttitle)下面的例子演示了在浏览器的状态栏上显示鼠标当前位置的事件句柄函数,所得位置相对于文档的左上角。

<HTML>

<HEAD>

<TITLE>报告鼠标移动</TITLE>

<SCRIPT LANGUAGE="JScript">

function reportMove(){

windowstatus = "X=" + windoweventx + " Y=" + windoweventy;

}

</SCRIPT>

<BODY onmousemove="reportMove()">

<H1>欢迎!</H1>

</BODY>

</HTML>

参考资料:

百度百科:document对象

以上就是关于雪花算法生成id重复的坑全部的内容,包括:雪花算法生成id重复的坑、js 怎么循环获得很多 name 相同的input 的ID 值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9595508.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存