zoukankan      html  css  js  c++  java
  • Java源码阅读(不断补充)

    java.util.LinkedList
      LinkedList是实现了List接口的双链表实现,拥有list的所有方法并且允许所有元素(包括null)。
    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
      需要注意的是LinkedList是非同步的,当大量线程并发地访问链表时,当至少有一个线程修改了列表的结构,那它必须进行外部同步(结构修改指的是
    添加或删除一个或多个元素的操作,仅仅设置值不能算修改了列表结构)。一般通过封装在列表的一些对象实现同步。
      如果没有这样的对象存在,则列表应该使用Collections.synchronizedList方法进行同步。这个最好在创建列表的时候就使用,用于
    防止偶然的非同步访问这个列表:
      List list = Collections.synchronizedList(new LinkedList(...));
    通过调用iterator和ListIterator方法返回迭代器将会立马报错,当以下情况发生时:在创建迭代器后的任何时间对其结构进行修改
      除了通过迭代器自己的remove或add之外的任何方式,迭代器将抛出一个ConcurrentModificationException。因此不进行同步操作的话,当
    面对并发时,迭代器会快速、彻底得失败。
    public class LinkedList<E> extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable
    {
    LikedList是一个实现了List接口的类,并能进行序列化操作(实现了java.io.Serializable接口)。

  • 相关阅读:
    hibernate学习四 hibernate关联关系映射
    三 vue学习三 从读懂一个Vue项目开始
    hibernate学习三 精解Hibernate之核心文件
    hibernate学习二 基本用法
    hibernate 学习 一 基本概念
    Hibernate一级缓存和二级缓存
    hibernate VS mybatis
    hibernate的优缺点和适用场合
    mybatis 优缺点和适用场合
    【Loadrunner接口测试】什么情况需要区分PC和手机端去做压测?
  • 原文地址:https://www.cnblogs.com/stm32stm32/p/9179373.html
Copyright © 2011-2022 走看看