设计java的大叔们为了我们方便的自定义各种同步工具,为我们提供了大杀器 AbstractQueuedSynchronizer 类,这是一个抽象类,以下我们会简称 AQS ,翻译成中文就是 抽象队列同步器。这家伙老有用了,封装了各种底层的同步细节,我们程序员想自定义自己的同步工具的时候,只需要 定义这个类的子类并覆盖它提供的一些方法就好了 。我们前边用到的显式锁 ReentrantLock 就是借助了 AQS 的神力实现的,现在马上来看看这个类的实现原理以...
概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。 首先,我们看看Map架构。 如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码。(03) SortedMap 是...
1. Java Map 1. Java Map 重要观点Java Map接口是Java Collections Framework的成员。但是它不是Collection 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。(不同的键对应的值可以相等) Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。 Map中某些映射实现可明确保证其自然顺序和定制顺序,如 TreeMap 类;另一些映射实现则不保证任何顺序,如 Hash...
1. Java Set 1. Java Set 重要观点Java Set接口是Java Collections Framework的成员。 Set不允许出现重复元素-----------无重复 Set不保证集合中元素的顺序---------无序 Set允许包含值为null的元素,但最多只能有一个null元素。 Set支持泛型(类型的参数化),我们应尽可能使用它。将Generics与List一起使用将在运行时避免ClassCastException。 先去看Map,Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeS...
原文地址:https://www.cnblogs.com/lwbqqyumidi/p/3804883.html Java总结篇系列:Java多线程(一) ?多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具有五中基本状态 新建状态(New):...
第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口,它继承于Collection的接口。它代表着有序的队列。 (02) AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get(int location)之外的函数。 (03) AbstractSequentialList 是一个抽象类,它继承于AbstractList。AbstractSequentialList 实现了“链表中,根据index索引值操作链表的全部函数”。 (04) ArrayList, LinkedLi...
第1部分 LinkedList介绍 LinkedList简介 LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。 LinkedList 实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传...
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一、概述 Collector是专门用来作为Stream的collect方法的参数的。 public interface Stream<T> extends BaseStream<T, Stream<T>> {<R, A> R collect(Collector<? super T, A, R> collector); } 而Collectors是作为生产具体Collector的工具类。 二、Collector Collector主要包含五个参数,它的行为也是由这五个参数来定义的,如下所示:...
(通过ArrayList来说明fail-fast的原理、解决办法) 1 fail-fast简介 fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。 例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。 在详细介绍fail-fast机制的原理之前,先通过一...
1. 目标使用webmagic爬取动作电影列表信息爬取电影《海王》详细信息【电影名称、电影迅雷下载地址列表】2. 爬取最新动作片列表 获取电影列表页面数据来源地址 访问http://m.ady01.com/rs/film/list/1/1,F12开发者模式中找到页面数据来源地址地址是:http://m.ady01.com/rs/film/listJson/1/1 访问:http://m.ady01.com/rs/film/listJson/1/1抓取列表信息使用git拉取代码:https://gitee.com/likun_557/java-pachong 这个代码是在第...
1. 目标使用webmagic爬取动作电影列表信息爬取电影**《海王》**详细信息【电影名称、电影迅雷下载地址列表】2. 爬取最新动作片列表 获取电影列表页面数据来源地址 访问http://m.ady01.com/rs/film/list/1/1,F12开发者模式中找到页面数据来源地址地址是:http://m.ady01.com/rs/film/listJson/1/1 访问:http://m.ady01.com/rs/film/listJson/1/1抓取列表信息使用git拉取代码:https://gitee.com/likun_557/java-pachong 这个代码...
1. 概述 java爬虫系列包含哪些内容?java爬虫框架webmgic入门 使用webmgic爬取 http://ady01.com 中的电影资源(动作电影列表页、电影下载地址等信息) 使用webmgic爬取 极客时间 的课程资源(文章系列课程 和 视频系列的课程)本篇文章主要内容:介绍java中好用的爬虫框架 java爬虫框架webmagic介绍 使用webgic爬取动作电影列表信息2. java中好用的爬虫框架 如何判断框架是否优秀?容易学习和使用,网上对应的学习资料比较多,并且...
1.说一下通过JDBC操作数据库的步骤第一步:通过反射注册并加载驱动Driver,驱动类会自动注册到DriverManager类,并加载到内存中。第二步:通过DriverManager类获取connection连接对象。第三步:通过连接对象获取statement数据库操作对象。第四步:通过statement执行sql语句,返回Resultset结果集。第五步:处理结果(Resultset)。第六步:释放资源。 2.事务的四大特征原子性:一组事务,要么成功,要么撤回。 一致性:隔...
第1部分 ArrayList介绍ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。 ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess是java中用来被List实现...
概要 首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图: Java 集合系列02之 Collection架构Collection是一个接口,它主要的两个分支是:List 和 Set。 List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素! List和Set都有它们各自的实现类。 为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝...