私は、0から始まるユニークな自動インクリメントIDを生成する必要があります。 私は2つのフィールドを持っています。 1つは接頭辞で、もう1つは数字です。 各レコードを保存している間に番号を自動的に増やし、接頭辞と連結して保存します。 接頭辞#test- 番号#0 を保存する前に、(test-0)のように2つの値を連結します。いずれかの人がこれを手伝ってくれます。 同期化をサポートする自動インクリメント番号
答えて
は、Java 7でリリースされたのAtomicIntegerまたはAtomicLongクラスを使用することができます。
ドキュメント:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html
例: http://tutorials.jenkov.com/java-util-concurrent/atomicinteger.html
のAtomicIntegerクラスがどのできるint型の変数を提供しますが原子的に読み書きされ、compareAndSet()のような高度なアトミック操作も含まれています。 AtomicIntegerクラスは、java.util.concurrent.atomicパッケージにあります。
AtomicIntegerの最も一般的な用途は、異なるスレッドによって同時にアクセスされるカウンタを処理することです。java.util.concurrent。 Atomicパッケージは、単一変数に対するロックフリーおよびスレッドセーフプログラミングをサポートする非常に有用なクラスを提供します。あなたが0(デフォルト)で初期化することができます0を渡すことで
private static AtomicInteger at = new AtomicInteger(0);
。その後、接頭辞(静的変数)を連結して連結することができます。例:
test+at.getAndIncrement(); // getAndIncrement() - Atomically increments by one the current value.
これが役立ちます。
Igniteは、prefix.IgniteシーケンスIDジェネレータを使用したオープンソースサポートシーケンスジェネレータです。 Link
または サーバーの再起動、メモリ内の値は、ゼロから始めるべきではない場合のでvalue.Youは永続のいくつかの種類を必要とするようにあなたの接頭辞とのAtomicIntegerとしてキーとのConcurrentHashMapを作成することができます。
どのバージョンのIgniteがシーケンス生成をサポートしていますか?このフレームワークの他の最も価値のある機能は何ですか? –
私たちは私たちのプロジェクトで最新のバージョンを使用しています。初期バージョンからのIdジェネレータのサポートを考えています.Hazelcastと同様に、Queue、set、AtomicType(Ie AatomicLong)、分散ロックなどのほとんどの分散データ構造をサポートしています。 –
- 1. 自動インクリメント番号
- 2. CodeIgniterのページネーション:エラー自動インクリメント番号
- 3. tdテーブルのjQuery自動インクリメント番号
- 4. マングースの文字列+自動インクリメント番号
- 5. シーケンシャルテキスト内の自動インクリメント番号
- 6. 保存自動インクリメント行番号
- 7. カスタムタイプの自動インクリメントIDコード番号
- 8. LINQ to Objects自動インクリメント番号
- 9. mysqlデータベースの自動番号(自動インクリメント)guidフィールド
- 10. 自動生成と自動インクリメントのビルド番号の違いは何ですか?
- 11. ASP .NETコアのバージョン番号を自動的にインクリメント
- 12. のSQLServerを設定シリアル番号の自動インクリメントとデクリメント
- 13. プロジェクトの.rcファイルのバージョン番号を自動的にインクリメント
- 14. DataTableの自動インクリメント列をデータベースと同期する
- 15. インクリメント番号
- 16. 範囲内の自動インクリメントURL ID番号
- 17. インクリメントとデクリメント番号
- 18. JavaScriptのインクリメント番号
- 19. Android:Firebase番号のインクリメント
- 20. 自動バージョン番号
- 21. jsr 303番号を検証し、自動的に0に初期化します。
- 22. バージョン番号を表示し、ASP.Net MVC - 5アプリケーションで自動インクリメントする方法
- 23. クイックフィックスシーケンス番号を同期させる
- 24. Webアプリケーション自動化テストのプロセス同期
- 25. データベース番号の自動番号付けまたはカスタム番号
- 26. 次の番号または現在の番号に対してmysqlが自動的にインクリメントされますか?
- 27. スクリプトファイル内の番号をインクリメントする
- 28. インクリメント番号はC#ASP.NET
- 29. Go langのインクリメント番号
- 30. Hibernateのインクリメント開始番号
ありがとうShivang。 –
@mounishようこそ) –
Atomiclongは同時ユーザーをサポートしていますか? –