Java的隐藏特性
2022-08-31 05:11:14
在阅读了C#的隐藏功能之后,我想知道,Java的隐藏功能是什么?
几个月前,当我第一次发现双括号初始化时,我感到惊讶,以前从未听说过它。
线程局部通常不像存储每个线程状态的一种方式那样广为人知。
由于 JDK 1.5 Java 除了锁之外,还具有非常完善的实现和健壮的并发工具,因此它们存在于 java.util.concurrent 中,一个特别有趣的例子是 java.util.concurrent.atomic 子包,它包含线程安全的原语,这些基元实现比较和交换操作,并且可以映射到这些操作的实际本机硬件支持版本。
类型参数方差中的联合并集:
public class Baz<T extends Foo & Bar> {}
例如,如果要采用一个既具有可比性又具有集合的参数:
public static <A, B extends Collection<A> & Comparable<B>>
boolean foo(B b1, B b2, A a) {
return (b1.compareTo(b2) == 0) || b1.contains(a) || b2.contains(a);
}
如果两个给定的集合相等,或者如果其中任何一个集合包含给定的元素,则此人为方法返回 true,否则为 false。需要注意的一点是,您可以在参数 b1 和 b2 上调用可比较和集合的方法。