Java 中的 AtomicLongArray set() 方法及示例2025 年 1 月 7 日 | 阅读 3 分钟 Java 中一个内置的方法,允许你在 AtomicLongArray 的任何位置设置一个值,该方法称为 Java.util.concurrent.atomic.AtomicLongArray.set()。此函数接受 AtomicLongArray 的索引值作为参数,并修改该索引处的值。此方法绝对不返回任何内容。set() 和 getAndSet() 函数是相似的。但是,后者在将新值设置到指定索引处之前会返回该索引处的值,而前者则不返回任何值。 语法 参数 该函数需要两个参数 i - 要更新的索引值。 newValue - 要添加到索引处的更新值。 返回值:该函数不返回任何值。 示例 1代码展示了如何使用 Java 的 AtomicLongArray。初始化后,从 long 整数数组创建一个名为 AtLongarr 的 AtomicLongArray。打印此原子数组的初始内容。然后,代码使用 set 函数将指定索引(在此情况下为索引 5)处的值更新为新值(12)。最后打印修改后的 AtomicLongArray,显示数组的修改。由于它保证了数组元素的线程安全操作,因此 AtomicLongArray 在并发编程场景中非常有用。 实施文件名:SetAtomicExample1.java 输出 The array given is : [1, 3, 5, 7, 9, 11, 13, 15] The array after update given is : [1, 3, 5, 7, 9, 12, 13, 15] 示例 2Java 代码展示了如何创建和编辑 AtomicLongArray。首先,使用定义的标准 long 整数数组初始化一个名为 AtLongarr 的 AtomicLongArray。打印此原子数组的初始内容。接下来,使用 set 方法尝试将索引 9 处的值更新为 100。但是,由于数组只有 8 个元素,因此索引 9 是非法的,这会引发 IndexOutOfBoundsException。尽管最初的目的是演示数组元素的线程安全操作,但错误的索引强调了在并发编程中确保使用适当索引的重要性。 实施文件名:SetAtomicExample2.java 输出 The array given is : [1, 3, 5, 7, 9, 11, 13, 15] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 8 at java.base/jdk.internal.util.Preconditions$2.apply(Preconditions.java:63) at java.base/jdk.internal.util.Preconditions$2.apply(Preconditions.java:60) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.lang.invoke.VarHandleLongs$Array.setVolatile(VarHandleLongs.java:776) at java.base/java.util.concurrent.atomic.AtomicLongArray.set(AtomicLongArray.java:106) at SetAtomicExample1.main(SetAtomicExample1.java:18) |
Java 运算符是一个特殊的符号,它对多个操作数执行特定的操作并输出结果。Java 有大量的运算符,它们分为两类。第一,运算符的性能基于其操作数的数量...
阅读 3 分钟
Java中的Collectors在Stream API中起着至关重要的作用,它们提供了一种便捷的方式将流的元素转换为各种数据结构,如List、Set或Map。在本节中,我们将探讨Java 10中一些常用的collector方法。toList()...
阅读 4 分钟
Java 与 Python Java 和 Python 是当今最流行的两种编程语言。虽然两者都功能强大且得到广泛支持,但在语法、性能和用例方面存在显著差异。在本文中,我们将从特性方面比较 Java 和 Python...
阅读 4 分钟
Toeplitz 矩阵是线性代数中的一种特殊类型的矩阵,其中从左到右的每个下降对角线包含相同的元素。它是以数学家 Otto Toeplitz 的名字命名的。Toeplitz 矩阵是大小为 n×n 的方阵,其中每个...
阅读 12 分钟
ORE 数字是一个特殊的正数,也被称为调和除数数。如果一个数的约数具有整数的调和值,则该数称为 ORE。与质数和阿姆斯特朗数不同,ORE 数字很少被...询问。
7 分钟阅读
最长公共前缀(LCP)问题是指查找给定列表中所有字符串的公共前缀的最长字符串;这是一个经典的计算机科学问题,有许多应用,例如 DNA 序列分析、自动完成、数据压缩和...
5 分钟阅读
在软件开发中,处理日期是一项常见任务,通常涉及处理各种日期格式。在 Java 中,由于世界各地使用的约定和模式不同,检测给定日期字符串的格式可能具有挑战性。然而,Java 提供了几个强大的...
阅读 6 分钟
Java 是一种多功能且广泛使用的编程语言,以其丰富的库和强大的功能而闻名。其中一项功能是 Icon 接口,它允许开发人员创建对象的动态图形表示。在本节中,我们将深入探讨 Java 中的 Icon 接口,...
5 分钟阅读
在 Java 中,初始化静态映射可以创建与类而不是类的实例关联的映射对象。这使得映射可以在类的所有实例之间共享,并且无需创建对象即可访问。静态映射是...
7 分钟阅读
Java SE 7 引入了对错误处理方式的重大改进,带来了使 Java 应用程序中的错误管理更简单、更高效的功能。这些更改旨在提高代码的可读性,减少重复代码(样板代码),并增强开发人员的整体体验。异常的演变...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India