timestamper.java

来自「一个Java持久层类库」· Java 代码 · 共 38 行

JAVA
38
字号
//$Id: Timestamper.java 3890 2004-06-03 16:31:32Z steveebersole $package org.hibernate.cache;/** * Generates increasing identifiers (in a single VM only). * Not valid across multiple VMs. Identifiers are not necessarily * strictly increasing, but usually are. */public final class Timestamper {	private static short counter = 0;	private static long time;	private static final int BIN_DIGITS = 12;	public static final short ONE_MS = 1<<BIN_DIGITS;		public static long next() {		synchronized(Timestamper.class) {			long newTime = System.currentTimeMillis() << BIN_DIGITS;			if (time<newTime) {				time = newTime;				counter = 0;			}			else if (counter < ONE_MS - 1 ) {				counter++;			}						return time + counter;		}	}	private Timestamper() {}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?