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

湖南网站seo营销超级网站模板下载

湖南网站seo营销,超级网站模板下载,网站开发的,国内wordpress例子本问题已经有最佳答案#xff0c;请猛点这里访问。 我正在寻找在Java中创建唯一ID作为String的最佳方法。 任何指导表示赞赏#xff0c;谢谢。 我应该提到我正在使用Java 5。 看看这个stackoverflow.com/a/9176060/1737819。 创建一个UUID。 String uniqueID UUID.randomUUI… 本问题已经有最佳答案请猛点这里访问。 我正在寻找在Java中创建唯一ID作为String的最佳方法。 任何指导表示赞赏谢谢。 我应该提到我正在使用Java 5。 看看这个stackoverflow.com/a/9176060/1737819。 创建一个UUID。 String uniqueID UUID.randomUUID().toString(); 它不是人类可读的全部... pjp真正随机生成的ID通常不可读。并且使其可读性通常会使其更长从而使可读性降低。 我不知道他想要一个人类可读的唯一ID ...这会大大增加难度 另一个注意事项-如果您只需要应用程序唯一性而AtomicInteger(如Michael Borgwardt所述)是更好的选择但是如果您需要全局唯一性那么UUID是一个更好的选择。 谢谢这是我现在所需要的尽管Adamskis的回答也非常好将来我可能还需要更多类似的东西。 为什么不能使用System.currentTimeMillis生成单调递增的序列并添加一些随机的正整数盐 您当然可以Farhad但是UUID是唯一保证跨大流量的多台服务器唯一性的方法。 如果您需要简短的人类可读的ID并且每次JVM运行仅需要它们是唯一的 private static long idCounter 0; public static synchronized String createID() { return String.valueOf(idCounter); } 编辑注释中建议的替代方案-这依赖于引擎盖下的魔术来确保线程安全但具有更高的可伸缩性和安全性 private static AtomicLong idCounter new AtomicLong(); public static String createID() { return String.valueOf(idCounter.getAndIncrement()); } 我更喜欢Michaels方法而不是UUID方法因为在调试时顺序ID通常更有用/更容易。同样也不保证UUID.randomUUID()100返回唯一值。 Adamski只要您不重新启动JVM仅运行1个JVM并且计数器没有溢出则此方法将仅创建唯一值。所有这些假设很容易被打破。在这种情况下UUID.randomUUID()实际上更可靠。 虽然不是100保证的但您与任何人发生碰撞的几率很低(因为整个空间大于估计存在于宇宙中的原子数)因此可以保证100保证。而且如果您需要全局唯一性那么这是实现此目标的最简单方法。但是如果您只需要局部唯一性(即当前现有应用程序的唯一性)那么AtomicInteger绝对是可行的方法。 java.util.UUIDtoString()方法 这是我的两分钱我以前实现了一个IdFactory类该类以[主机名]-[应用程序开始时间]-[当前时间]-[标识符]的格式创建ID。这在很大程度上保证了ID在JVM实例之间是唯一的同时保持ID的可读性(尽管相当长)。这是代码以防万一 public class IdFactoryImpl implements IdFactory { private final String hostName; private final long creationTimeMillis; private long lastTimeMillis; private long discriminator; public IdFactoryImpl() throws UnknownHostException { this.hostName InetAddress.getLocalHost().getHostAddress(); this.creationTimeMillis System.currentTimeMillis(); this.lastTimeMillis creationTimeMillis; } public synchronized Serializable createId() { String id; long now System.currentTimeMillis(); if (now lastTimeMillis) { discriminator; } else { discriminator 0; } // creationTimeMillis used to prevent multiple instances of the JVM // running on the same host returning clashing IDs. // The only way a clash could occur is if the applications started at // exactly the same time. id String.format(%s-%d-%d-%d, hostName, creationTimeMillis, now, discriminator); lastTimeMillis now; return id; } public static void main(String[] args) throws UnknownHostException { IdFactory fact new IdFactoryImpl(); for (int i0; i1000; i) { System.err.println(fact.createId()); } } } 这会给UUID生成增加更多的随机性但要确保每个生成的ID的长度相同 import org.apache.commons.codec.digest.DigestUtils; import java.util.UUID; public String createSalt() { String ts String.valueOf(System.currentTimeMillis()); String rand UUID.randomUUID().toString(); return DigestUtils.sha1Hex(ts rand); } 我喜欢额外的currentTimeMillis它确实使它变得随机。 UUID.randomUUID()已使用加密强度高的随机数生成器生成了ID。增加更多随机性是什么意思您可以根据时间间隔随机添加盐来获得什么 如果我没记错的话UUID.randomUUID()在创建随机ID时已经使用了时间因子。 恕我直言阿珀金斯提供了一种优雅的解决方案因为它是本机的并且使用的代码更少。 但是如果您需要较短的ID则可以使用以下方法来减少生成的String长度 // usage: GenerateShortUUID.next(); import java.util.UUID; public class GenerateShortUUID() { private GenerateShortUUID() { } // singleton public static String next() { UUID u UUID.randomUUID(); return toIDString(u.getMostSignificantBits()) toIDString(u.getLeastSignificantBits()); } private static String toIDString(long i) { char[] buf new char[32]; int z 64; // 1 6; int cp 32; long b z - 1; do { buf[--cp] DIGITS66[(int)(i b)]; i 6; } while (i ! 0); return new String(buf, cp, (32-cp)); } // array de 642 digitos private final static char[] DIGITS66 { 0,1,2,3,4,5,6,7,8,9,        a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, -,.,_,~ }; } Java –生成唯一ID UUID是用Java生成唯一ID的最快最简单的方法。 import java.util.UUID; public class UniqueIDTest { public static void main(String[] args) { UUID uniqueKey UUID.randomUUID(); System.out.println (uniqueKey); } } 我们可以使用UUID在Java中创建唯一ID然后在UUID上调用类似randomUUID()的方法。 String uniqueID UUID.randomUUID().toString(); 这将生成随机的uniqueID其返回类型将为String。 具有计数信息的唯一ID import java.util.concurrent.atomic.AtomicLong; public class RandomIdUtils { private static AtomicLong atomicCounter new AtomicLong(); public static String createId() { String currentCounter String.valueOf(atomicCounter.getAndIncrement()); String uniqueId UUID.randomUUID().toString(); return uniqueId - currentCounter; } } 在Java中有三种生成唯一ID的方法。 1)UUID类提供了一种生成唯一ID的简单方法。 UUID id UUID.randomUUID(); System.out.println(id); 2)SecureRandom和MessageDigest //initialization of the application SecureRandom prng SecureRandom.getInstance(SHA1PRNG); //generate a random number String randomNum new Integer(prng.nextInt()).toString(); //get its digest MessageDigest sha MessageDigest.getInstance(SHA-1); byte[] result  sha.digest(randomNum.getBytes()); System.out.println(Random number: randomNum); System.out.println(Message digest: new String(result)); 3)使用java.rmi.server.UID UID userId new UID(); System.out.println(userId: userId); String name,password; public int idGen() { int id this.name.hashCode() this.password.hashCode(); int length String.valueOf(id).length(); int Max_Length 5; if(String.valueOf(id).length()Max_Length) { id (int) (id /Math.pow(10.0,length - Max_Length )); } return  id; } enter code here 生成唯一ID的程序 class Test { public static void main(String arg[]) { String s ; double d; for (int i 1; i 16; i) { d Math.random() * 10; s s ((int)d); if (i % 4 0 i ! 16) { s s -; } } System.out.println(s); } } 输出 7954-7605-1827-4795 1991-4912-4912-3008 请至少添加几行以说明您在做什么以及它为什么起作用。 问题不仅仅在于随机字符串还在于唯一字符串。 此代码如何确保不重复唯一ID重复唯一ID的机会是什么
http://www.dnsts.com.cn/news/112640.html

相关文章:

  • 怎么样在网上建设网站挣钱360doc 网站怎么做
  • 东莞公司网站做优化淘宝运营的基础知识
  • 百度云免费做网站怎么学做电商然后自己创业
  • 网站正在维护中啥意思重庆保姆网
  • 爬虫怎么看网站开发者模式陕西建设集团韩城公司网站
  • 权重7以上的网站本周国内重大新闻十条
  • 网站开发绑定微信qq注册代练平台
  • 网站建设需求文件那个网站做搬家推广比较好
  • 如何做网站alexa排名58同城代运营
  • 上海市建设项目施工审图网站网站顶一下代码
  • flash布局 的优秀网站宣城网站优化
  • 大连永锐网站哪家做的怎么在Front做网站
  • 学编程可以建设网站吗网站建设的经费预算报告
  • 个人的网站怎么备案可以做网站二维码吗
  • android 网站模板如何制作专业简历
  • 做销售的 都有什么网站wordpress如何设置商城
  • 医院网站建设宗旨登录可见wordpress
  • 怎么用易语言做网站wordpress 不能自定义主题
  • 网站怎么做按钮企业融资计划
  • 千卓品牌策划seo推广有效果吗
  • 南宁市两学一做网站建设建设网站的
  • 企业做不做网站的坏处一个网站建设多少钱
  • 网站显示建设中页面p2p网站开发用什么平台
  • 网站开发制作流程网站建设幽默
  • 站长推荐跳转免费咨询心理医生在线
  • 织梦dedecms教育培训网站模板王野天女明星
  • 网站google搜索优化企业简介优势项目案例等模块点选即用
  • 温室网站建设外贸网站模板有什么用
  • 企业网站开发所需要的模块新公司网站建设方案
  • 电商网站模板下载更换域名wordpress