草庐IT

java - UUID 生成的字符类型

java.util.UUID会生成特殊字符吗?UUID生成的每个字符的类型(例如,大写、小写、数字)是什么。 最佳答案 tl;博士你问:Doesjava.util.UUIDgeneratesspecialcharacters?没有。UUID实际上是一个128位的值,而不是文本。UUID的文本表示通常是一串十六进制数字(0-9、a-f、A-F)加上连字符。你问:Whatarethetypeofeachcharacter(eg-Uppercase,lowercase,digits)generatedbyUUID.根据UUID规范的要求,

java - 如何使用 UUID 生成唯一的正 Long

我需要为我的数据库主键列生成唯一的Longid。我认为我可以使用UUID.randomUUID().getMostSignificantBits()但有时它会产生一些负长,这对我来说也是个问题。是否可以只从UUID生成正长?会有数十亿个条目,所以我希望每个生成的key都必须是唯一的。 最佳答案 UUID.randomUUID().getMostSignificantBits()&Long.MAX_VALUE这样做的原因是,当你用1进行按位&时,它允许相同的数字通过,而当你用0进行按位&时,它会阻止它,结果为0。现在,二进制的Long

java - 发生 Java UUID.randomUUID 冲突的机会有多大?

这个问题在这里已经有了答案:HowgoodisJava'sUUID.randomUUID?(10个回答)关闭8年前.我需要在Java中创建一些唯一文件,并且我计划使用UUID.randomUUID来生成它们的名称。有没有机会为此发生碰撞?我应该做类似波纹管操作系统的事情吗?我不应该担心这个?IntegerattemptsToGenerateUUID=1;while(true){UUIDfileUUID=UUID.randomUUID();if(fileDoesNotExistwiththisUUIDname){savefile;break;}attemptsToGenerateUUID

java - 如何判断一个字符串是UUID类型?

这个问题在这里已经有了答案:HowtotestvalidUUID/GUID?(18个回答)FoolproofwayofdifferentiatingStringandUUID(5个回答)关闭8年前。在我的项目中,我使用UUID.fromString()将字符串转换为UUID,但是如果字符串不是UUID类型,它会抛出exception,那么我该如何验证这个字符串呢? 最佳答案 处理异常并在这种情况下做点什么。例如:try{UUIDuuid=UUID.fromString(someUUID);//dosomething}catch(Il

java - Java 随机 UUID 是可预测的吗?

我想为数据库中的敏感数据使用加密安全的主键-这无法猜测/预测,并且无法由数据库生成(我需要在对象被持久化之前的key)。我了解Java使用类型4UUID和加密安全的随机数生成器,但是我知道UUID不是完全随机的,所以我的问题是假设无法从一组现有的uuid中预测它有多安全? 最佳答案 如果您想知道UUID的随机性,您必须查看源代码。以下代码部分取自OpenJDK7(在OpenJDK6中是相同的):publicstaticUUIDrandomUUID(){SecureRandomng=numberGenerator;if(ng==nul

java - 有什么方法可以从字符串生成相同的 UUID

我想知道是否有一种方法可以基于String.生成相同的UUID我用UUID试过了,好像没有这个功能。 最佳答案 您可以通过这种方式使用UUID为您的输入字符串获取始终相同的UUID:StringaString="JUST_A_TEST_STRING";Stringresult=UUID.nameUUIDFromBytes(aString.getBytes()).toString(); 关于java-有什么方法可以从字符串生成相同的UUID,我们在StackOverflow上找到一个类似的

java - 不同字符串的 UUID 相同

我有两个不同的字符串,但在解析为UUID后似乎是一样的publicstaticvoidmain(String[]args){try{UUIDt1=UUID.fromString("38e1036d-7527-42a3-98ca-f2f19d3155db");UUIDt2=UUID.fromString("123438e1036d-7527-42a3-98ca-f2f19d3155db");System.out.println(t1.toString().equals(t2.toString()));}catch(Exceptione){e.printStackTrace();}}知道为

java - 是否有 uuid validator 注释?

我找不到用于验证JavaWeb应用程序中的输入参数的@UUID(或类似)注释。我已经看过了javax.validation.constraintsorg.hibernate.validator.constraints 最佳答案 是的,自己搭建@Target(ElementType.FIELD)@Constraint(validatedBy={})@Retention(RUNTIME)@Pattern(regexp="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}

mysql - 如何将uuid存储为数字?

根据问题的答案,UUIDperformanceinMySQL,回答者建议将UUID存储为数字而不是字符串。我不太确定如何做到这一点。任何人都可以给我一些建议吗?我的ruby​​代码如何处理这个问题? 最佳答案 如果我理解正确,您在主列中使用UUID?人们会说常规(整数)主键会更快,但是还有另一种方法可以使用MySQL的阴暗面。事实上,当需要索引时,MySQL使用二进制比其他任何东西都快。由于UUID是128位,并且被写成十六进制,因此加速和存储UUID非常容易。首先,在您的编程语言中删除破折号从110E8400-E29B-11D4-

mysql - MySQL中的UUID性能?

我们正在考虑使用UUID值作为MySQL数据库的主键。插入的数据是从数十、数百甚至数千台远程计算机生成的,以每秒100-40,000次插入的速度插入,我们永远不会进行任何更新。在我们开始剔除数据之前,数据库本身通常会达到大约5000万条记录,因此不是一个庞大的数据库,但也不是很小的数据库。我们还计划在InnoDB上运行,但如果有更好的引擎来支持我们正在做的事情,我们愿意改变这一点。我们已经准备好使用Java的Type4UUID,但在测试中发现了一些奇怪的行为。一方面,我们存储为varchar(36),我现在意识到使用binary(16)会更好——尽管我不确定会更好。更大的问题是:当我们