Java Web 应用程序中的唯一序列号

2024-03-14

我一直想知道生成唯一 ID 的正确做法是什么?事情是在我的网络应用程序中,我将有一个插件系统,当用户注册一个插件时,我想为其生成一个唯一的序列号。我一直在考虑将所有数字存储在服​​务器上的数据库或文件中,生成随机数并检查它是否已存在于数据库/文件中,但这似乎不太好。还有其他方法吗?使用 UUID 是首选方法吗?


如果 ID 是面向用户的(看起来确实如此),那么您希望它们难以猜测。使用内置的UUID http://www.javapractices.com/topic/TopicAction.do?Id=56类,它为您生成随机 ID,并可以为您很好地格式化它们。提炼:

UUID idOne = UUID.randomUUID();
UUID idTwo = UUID.randomUUID();
log("UUID One: " + idOne);
log("UUID Two: " + idTwo);

输出示例:

UUID One: 067e6162-3b6f-4ae2-a171-2470b63dff00 
UUID Two: 54947df8-0e9e-4471-a2f9-9af509fb5889

提供的链接中还有其他解决方案。我认为它很好地比较了这些方法,因此请选择最适合您需求的一种。

另一种有趣的方法是MongoDB http://www.mongodb.org/display/DOCS/Object+IDs使用,但这可能对您的需求来说太过分了:

BSON ObjectID 是一个 12 字节值 由 4 字节时间戳组成 (自纪元以来的秒数),一个 3 字节 机器 ID、2 字节进程 ID 和 3 字节计数器。请注意, 时间戳和计数器字段必须是 与其他存储不同的是大端存储 BSON

如果它们不是面向用户的,那么您可以将其留给数据库来执行自动递增 id:1、2、3 等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Web 应用程序中的唯一序列号 的相关文章

随机推荐

  • python正则表达式重复与捕获问题

    使用python3的正则表达式功能 是否可以根据找到的重复次数来捕获可变数量的捕获块 例如 在以下搜索字符串中 我想使用相同的正则表达式捕获所有数字字符串 搜索字符串 1 尝试捕获 89 45 zzz89zzz45 mp3 搜索字符串 2
  • 列名必须是字符串或数组 yii

    我在访问 yii 的网络应用程序时遇到了一些困难 我的配置与所有者的设置相同 但是当我尝试访问时 出现错误 列必须是字符串或数组 我该如何解决它 提前致谢 报告错误消息时 获得准确的错误消息会很有帮助 实际的错误消息是 列name必须是字符
  • 允许在 Mac OS X 应用程序中读取文件的权利是什么? (拒绝文件读取数据错误)

    我正在制作一个 Mac OS X 应用程序 沙盒 它从 etc myfolder 中安装的配置文件读取 当我尝试使用 NSFileHandle 读取文件时 我在控制台中收到以下错误 sandboxd 3251 MyApp 3251 deny
  • 文件上传到文件流

    我正在将文件与 HttpWebRequest 一起发送 我的文件将来自 FileUpload UI 这里我需要将文件上传转换为文件流 以将流与 HttpWebRequest 一起发送 如何将 FileUpload 转换为文件流 由于 Fil
  • 以编程方式获取完整的 Ruby 版本?

    我知道可以通过以下方式获取 Ruby 版本 例如 1 9 3 RUBY VERSION持续的 但是 我想知道如何确定确切的版本 例如 1 9 3 p0 原因是 Ruby 1 9 3 的早期版本中存在一个未修复的错误 该错误在更高版本中起作用
  • 移动赋值运算符和移动构造函数之间的区别?

    一段时间以来 这一直让我感到困惑 而且到目前为止我还没有找到满意的答案 问题很简单 什么时候有一个move assignment operator接到电话 什么时候move constructor operator接到电话吗 cpprefe
  • 通过flask/python在html中显示从couchDB附加的图像

    我正在使用 Flask 和 python 从 couchdb 获取图像附件 然后将图像传递到 imgurl html 进行显示 问题是我只得到这个 返回 0x103b9c0b8 gt 处的 couchdb http ResponseBody
  • 跨线程操作无效:从创建它的线程以外的线程访问控制“textBox1”[重复]

    这个问题在这里已经有答案了 我想使用 UART 将温度值从微控制器发送到 C 接口并显示温度Label Content 这是我的微控制器代码 while 1 key scan get value of temp if Usart Data
  • 具有多个按钮和多个视频的 Listactivity

    我有一个 listactivity 应用程序 由 5 行组成 每行包含一个文本和 5 个按钮 文本和按钮都是可单击的 文本将打开 MyDay 活动 即文本视图 当您单击任何按钮时 它必须打开视频视图屏幕 其工作正常 如下图所示 但我的问题是
  • jQuery.each() 如何处理关联数组(对象)?

    我有一个关联数组 里面有两个对象 运行这个 myassoc each 回调仅运行一次 回调参数 索引和对象 也分别返回 0 和整个关联数组 人们会期望jQuery each 对数组中的每个元素运行 返回正确的键作为索引 返回正确的元素作为对
  • 替换 PhotoSwipe 库中的图像

    我有一个照片滑动 http www photoswipe com 我的页面上的画廊是这样以编程方式创建的 var instance window Code PhotoSwipe attach image options 现在我想更新图库中的
  • 在 Django 单元测试中使用会话对象

    我正在编写一个登录视图 并想为该视图添加单元测试 我的观点是这样的 def login request if request POST usrname request POST get username password request P
  • NLog - 删除超过 X 天的日志

    如何删除日志早于 X 天的文件 这很简单 但我在一个文件夹中只记录一天的日志 我的 NLog config 如下所示
  • Gnuplot 列堆叠直方图 - 行/行计数

    我有一个数据文件 其中包含未定义数量的条目 如下所示 A B C D E 1 0 2 5 4 7 4 3 4 1 8 7 4 0 7 1 1 第一行代表工作时间 然后以交替的方式暂停等等 为了可视化这一点 我通过定义两种具有不同颜色的线条样
  • 打印 char 的十进制值

    打印字符的十进制值的程序 include
  • Microsoft.Azure.NotificationHubs 1.0.9 是否与 .NET Core 2.0 兼容?

    我们将NotificationHubs 1 0 9 版与 NetCore 2 0 和 Net Framework 4 7 结合使用 在编译时 我们收到此警告 包 Microsoft Azure NOtificationHubs 1 0 9
  • 在角度4中为不同页面设置不同布局的最佳方法

    我是 Angular 4 的新手 我想要实现的是为应用程序中的不同页面设置不同的布局页眉和页脚 我有三种不同的情况 登录 注册页面 无页眉 无页脚 路线 登录 注册 营销网站页面 这是根路径 它有页眉和页脚 这些部分大多在登录之前出现 路线
  • Java/Wicket:使用资源编译基本的 Hello World

    我正在关注这个 Hello World Wicket 应用程序的示例 https www ibm com developerworks web library wa aj wicket https www ibm com developer
  • JNI - 在 Java 和 Native 代码之间传递大量数据

    我正在努力实现以下目标 1 我在java端有一个代表图像的字节数组 2 我需要让我的本机代码访问它 3 本机代码使用 GraphicsMagick 解码该图像 并通过调用 resize 创建一堆缩略图 它还计算图像的感知哈希 该哈希可以是向
  • Java Web 应用程序中的唯一序列号

    我一直想知道生成唯一 ID 的正确做法是什么 事情是在我的网络应用程序中 我将有一个插件系统 当用户注册一个插件时 我想为其生成一个唯一的序列号 我一直在考虑将所有数字存储在服 务器上的数据库或文件中 生成随机数并检查它是否已存在于数据库