最近做一个网络方面的东西,要求生成一个ID,作为一台机器上一个java进程的唯一标识,同一主机上的各进程之间,不同主机的个进程之间都不能重复。问下有什么方法么?

解决方案 »

  1.   

    试试UUID.randomUUID(),再不行可以加上System.currentTimeMillis(),个人感觉重复的可能性非常小
      

  2.   

    虽然可能性很小,但理论上还是有可能,问下是不是可以根据ip+port,做这个唯一标识,端口属于系统资源,划出一段的端口,用作区分用,只要一个进程占上了,另一个进程再占就会报错
    个人感觉用进程号其实是最好的,不过java获得进程号好像不太容易...