자바 uniqid()

1 개요[ | ]

자바 Util.uniqid()
private static class Util {
	private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
	public static long currentTimeNanos() {
		return System.nanoTime() + currentTimeNanosOffset;
	}
	public static String uniqid() {
		long nanos = Util.currentTimeNanos();
		return Long.toHexString(Long.parseLong(String.valueOf(nanos).substring(0,10)))
				+ Long.toHexString(Long.parseLong(String.valueOf(nanos).substring(10,16)));
	}
	public static String uniqid(String prefix) {
		return prefix + "_" + Util.uniqid();
	}
}
System.out.println( Util.uniqid() );
System.out.println( Util.uniqid() );
System.out.println( Util.uniqid("hello") );
System.out.println( Util.uniqid("hello") );
// 58eddeabe0db9
// 58eddeabe0f60
// hello_58eddeabe0f96
// hello_58eddeabe0fc2

2 전체 예제[ | ]

public class HelloApplication {
	private static class Util {
		private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
		public static long currentTimeNanos() {
			return System.nanoTime() + currentTimeNanosOffset;
		}
		public static String uniqid() {
			long nanos = Util.currentTimeNanos();
			return Long.toHexString(Long.parseLong(String.valueOf(nanos).substring(0,10)))
					+ Long.toHexString(Long.parseLong(String.valueOf(nanos).substring(10,16)));
		}
		public static String uniqid(String prefix) {
			return prefix + "_" + Util.uniqid();
		}
	}

	public static void main(String[] args) {
		System.out.println( Util.uniqid() );
		System.out.println( Util.uniqid() );
		System.out.println( Util.uniqid("hello") );
		System.out.println( Util.uniqid("hello") );
		// 58eddeabe0db9
		// 58eddeabe0f60
		// hello_58eddeabe0f96
		// hello_58eddeabe0fc2
	}
}

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}