English 中文(简体)
1. 单质增加的惯性
原标题:Generate monotonically increasing integers
  • 时间:2012-01-16 05:57:24
  •  标签:
  • java

我需要生成monotonically Increasing integers。

我能否利用时间来做些什么,产生这种分类的分类?

我当时会要求进行愤怒,而我却在同一秒钟中要求不止一次的愤怒——如果我这样做的话,如果我在这个二天间穿过同样的愤怒的话,我会赢得思想。

问题回答

您可使用rel=“nofollow”>AtomicInteger 反对保持一种安全屏障。 然后使用getAndIncrement (。 当你们需要下一个愤怒的时候。

由于单逐年增加的愤怒不必是毗连的(只要数量持续增加,就会出现差距),因此,正如你想要在第二季度发出的所有呼吁来回same integer,这一回归方法将多少转而采用联合核查机制。

这里的简单实施是:

private static long startTime = System.currentTimeMillis();

public static int secondsSinceStart() {
    return (int) TimeUnit.SECONDS.convert(
        System.currentTimeMillis() - startTime, TimeUnit.MILLISECONDS);
}

该法案将持续68年。

这是我自发的创造者......

  public final class IdGenerator {

  private static final int MAGNITUDE = 10000;
  private static long previousTimestamp;

  private static int counter = 0;

  private IdGenerator() {
  }

  public synchronized static long generateId() {
    final long timeMillis = System.currentTimeMillis();
    if (previousTimestamp != timeMillis) {
      counter = 0;
    }
    previousTimestamp = timeMillis;

    final int counterValue = counter++;
    if (counterValue >= MAGNITUDE) {
      //just to be sure
      throw new IllegalStateException("too many id generated for a single timestamp!");
    }

    return timeMillis * MAGNITUDE + counterValue;
  }

}




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签