0
点赞
收藏
分享

微信扫一扫

红黑树的特征?什么是 fail-fast?

一、红黑树的特征

1、每个节点是黑色或者红色的

2、根节点是黑色

3、每个叶子节点都是黑色的(指向空的叶子节点)

4、如果一个叶子节点是红色的,那么其子节点必须是黑色的

5、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点

红黑树的特征?什么是 fail-fast?_java

二、什么是 fail-fast?

fail-fast机制是Java集合(Collection)中的一种错误机制,当多个线程对同一个集合的内容进行操作时,就可能产生fail-fast事件。

例如:当某个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其它线程所改变,那么线程A访问集合是就会抛出ConcurrentModificationException异常,产生fail-fast事件。这里的操作主要指的是add、remove和clear,对集合元素个数进行修改。

解决办法:使用“java.util.concurrent"包下的类去取代”java.util"包下的类。

可以这样理解:在遍历之前,把modCount记下来expectModCount,后面expectModCount去和modCount进行比较,如果不相等了,证明已经被修改,于是抛出ConcurrentModificationException异常。

举报

相关推荐

0 条评论