1.概述CopyOnWriteArrayList,从名字可以看出它跟ArrayList有点关系,可以理解为线程安全的ArrayList。它的类签名和继承结构如下:publicclassCopyOnWriteArrayList<E>implementsList<E>,RandomAccess,Cloneable,java.io.Serializable{}它主要实现了List
分类:
其他好文 时间:
2020-08-31 13:09:05
阅读次数:
39
概述前面分析过ReentrantLock「JDK源码分析-ReentrantLock」,它是一种互斥的可重入锁,可用于处理并发场景下的线程安全问题。而很多时候会出现“读多写少”的情况,若用ReentrantLock会降低并发量,此时就比较适合ReentrantReadWriteLock出场了。ReentrantReadWriteLock是读写锁,它维护了一对锁:一个读锁,一个写锁。读锁之间是共享的
分类:
其他好文 时间:
2020-08-31 13:08:51
阅读次数:
36
1.前言ThreadLocal也是一个使用频率较高的类,在框架中也经常见到,比如Spring。有关ThreadLocal源码分析的文章不少,其中有个问题常被提及:ThreadLocal是否存在内存泄漏?不少文章对此讲述比较模糊,经常让人看完脑子还是一头雾水,我也有此困惑。因此找时间跟小伙伴讨论了一番,总算对这个问题有了一定的理解,这里记录和分享一下,希望对有同样困惑的朋友们有所帮助。当然,若有理解
分类:
其他好文 时间:
2020-08-28 14:48:29
阅读次数:
40
org.apache.spark.scheduler.DAGScheduler#submitMissingTasks => org.apache.spark.scheduler.TaskSchedulerImpl#submitTasks // First figure out the indexes ...
分类:
其他好文 时间:
2020-08-28 14:42:00
阅读次数:
47
本文主要讲解SpringMVC执行过程,并针对相关源码进行解析。首先,让我们从SpringMVC的四大组件:前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)以及视图解析器(ViewResolver)的角度来看一下SpringMVC对用户请求的处理过程,过程如下图所示:SpringMVC执行过程用户请求发送到
分类:
编程语言 时间:
2020-08-28 11:56:02
阅读次数:
47
经常会看到说HashMap是线程不安全的,ConcurrentHashMap是线程安全的等等说法,不禁有个疑问,HashMap 为什么是线程不安全的呢? 下面为jdk1.8源码分析 final V putVal(int hash, K key, V value, boolean onlyIfAbse ...
分类:
编程语言 时间:
2020-08-20 18:18:26
阅读次数:
102
场景 官方示例分页实现 前端调用实现 // 一般在查询参数中定义分页变量 queryParams: { pageNum: 1, pageSize: 10 }, // 页面添加分页组件,传入分页变量 <pagination v-show="total>0" :total="total" :page.s ...
分类:
其他好文 时间:
2020-08-15 23:51:34
阅读次数:
129
1.flume简介 Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 2.安装和使用说明 ...
分类:
Web程序 时间:
2020-08-13 22:07:34
阅读次数:
83
Spring中的数据访问,JdbcTemplate使用及源码分析前言本系列文章为事务专栏分析文章,整个事务分析专题将按下面这张图完成对源码分析前,我希望先介绍一下Spring中数据访问的相关内容,然后层层递进到事物的源码分析,主要分为两个部分JdbcTemplate使用及源码分析Mybatis的基本使用及Spring对Mybatis的整合本文将要介绍的是第一点。JdbcTemplate使用示例pu
分类:
数据库 时间:
2020-08-11 13:10:38
阅读次数:
88
前言专题要点如下:本文要解决的是第二点,Mybatis的使用、原理及跟Spring整合原理分析。Mybatis的简单使用搭建项目pom文件添加如下依赖<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6&
分类:
编程语言 时间:
2020-08-11 09:26:24
阅读次数:
74