相关疑难解决方法(0)

如何生成随机字母数字字符串?

我一直在寻找一种简单的 Java算法来生成伪随机字母数字字符串.在我的情况下,它将被用作一个唯一的会话/密钥标识符,它"很可能"在500K+生成过程中是唯一的(我的需求实际上并不需要更复杂的东西).

理想情况下,我可以根据我的唯一性需求指定长度.例如,生成的长度为12的字符串可能看起来像"AEYGF7K0DM1X".

java string random alphanumeric

1679
推荐指数
23
解决办法
134万
查看次数

如何在Java中获取唯一的计算机标识符(如磁盘ID或主板ID)?

我希望在Windows,MacOS以及Linux(如果可能的话)上获得一台带有Java的计算机的唯一ID.它可能是磁盘UUID,主板S/N ......

Runtime.getRuntime().exec 可以使用(它不是applet).

想法?

java uuid uniqueidentifier

60
推荐指数
7
解决办法
10万
查看次数

在Java中生成唯一ID,以标记日志中相关条目的组

有关此主题的SO上有几篇帖子.每个人都谈到一个特定的方法,所以想在一个问题中进行比较.

使用新的Date()作为唯一标识符

在Java中生成全局唯一标识符

我正在尝试实现一个功能,我们可以在日志文件中识别某些事件.这些事件需要与唯一ID相关联.我正在尝试为这个独特的ID生成策略.ID必须包含两部分:一些静态信息+一些动态信息当需要调试事件时,可以搜索日志.我有三种方式:

  • 静态信息+ Joda日期时间("abc"+ 2014-01-30T12:36:12.703)
  • 静态信息+原子整数
  • 静态信息+ UUID

对于此问题的范围,不考虑多个JVM.我需要在一个JVM上以有效的方式生成唯一ID.此外,我将无法使用数据库相关的解决方案.

上述3种策略中哪一种效果最好?

  • 如果没有上述任何一种策略?
  • Joda基于时间的战略是否健全?JVM是单一的,但会有并发用户,因此可以有并发事件.
  • 结合上述/其他策略之一,我是否需要使我的方法线程安全/同步?

java logging uuid datetime

12
推荐指数
2
解决办法
1万
查看次数

如何在Java中生成固定长度的唯一标识符?

我正在尝试生成固定长度的唯一标识符,例如Megaupload为上传的文件生成的ID.

例如:

  • ALGYTAB5
  • BCLD23A6

在这个使用AZ和0-9并且固定长度为8的例子中,总的不同组合是2,821,109,907,456.

如果已经生成了一个生成的id,该怎么办?这些ID将存储在数据库中,不应多次使用.

我怎样才能在Java中实现这一目标?

谢谢.

java uniqueidentifier

8
推荐指数
1
解决办法
1万
查看次数