17
A
答えて
32
も参照してくださいを参照してください。
System.out.println(new AtomicInteger(Integer.MAX_VALUE).incrementAndGet());
System.out.println(Integer.MIN_VALUE);
は出力:
-2147483648
-2147483648
それはMIN_VALUEにラップをしているように見えます。
6
Browingソースコード、彼らは
private volatile int value;
を有しており、そして様々な場所、それらは例えば、追加またはそこから差し引きますin
public final int incrementAndGet() {
for (;;) {
int current = get();
int next = current + 1;
if (compareAndSet(current, next))
return next;
}
}
したがって、これは標準的なJava整数の計算に従い、Integer.MIN_VALUEにラップアラウンドする必要があります。 AtomicIntegerのJavaDocsは、(私が見たものから)この問題については何も話していないので、この動作は将来変更されるかもしれないと思うが、それは非常に起こりそうにない。
AtomicLongがあれば役立ちます。
は自分のためWhat happens when you increment an integer beyond its max value?
関連する問題
- 1. AtomicInteger and Math.max
- 2. AtomicIntegerのプロパティ
- 3. Java AtomicInteger getAndIncrement()とcompareAndSet
- 4. AtomicIntegerのget()vs intValue()メソッド
- 5. java.util.concurrentについてAtomicInteger
- 6. AtomicIntegerと同期ゲッター/セッター
- 7. Javalinチュートリアル「未解決のリファレンス:AtomicInteger」
- 8. AtomicIntegerを使用したスレッドの動作
- 9. AtomicInteger同期プリミティブはありますか?
- 10. ロック内のAtomicIntegerの使用方法
- 11. mysql自動インクリメントなしインクリメント
- 12. インクリメント
- 13. AtomicReference <Integer>とAtomicIntegerの違いは何ですか?
- 14. AtomicIntegerはJNIベースで実装されていますか?
- 15. はインクリメント
- 16. インクリメント/デクリメントカスタムリストビューアアダプタ
- 17. インクリメント値
- 18. インクリメントNsdate
- 19. インクリメントのsetInterval
- 20. インクリメントたstreamposオブジェクト
- 21. _SESSIONインクリメント機能
- 22. インクリメントplist値
- 23. Mongoose - findOneでインクリメント
- 24. C# - StockNumberのインクリメント
- 25. インクリメント値、各ループ
- 26. パンダ:インクリメント日時
- 27. RobotFrameworkのインクリメント
- 28. 自動インクリメントHexValue
- 29. Matlabの:インクリメント
- 30. チャイルドのインクリメント
整数を最大値に設定してからインクリメントすることで、簡単にこれを試すことができます。 – Gabe
nullはこのネーム番号 –
+1ではありません!私はスタックオーバーフローのポイントは、このような質問に答えるためのものであり、誰かが質問をするのが悪いと感じさせるものではないと思います。要点は、ユーザーが自分自身で「把握」できるかどうかではありません。彼らは合法的に助けを必要とし、我々はそれを提供するためにここにいる。 –