![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 92
墨香异境
墨香飘溢寻古韵,异境穿梭觅新知。
展开
-
常用工具类整合
常用工具类整合1. 简介2. 如何使用3. 包含的内容3.1 工具类总览3.2 api接口4. 总结1. 简介整合工具类的初衷其实比较简单,做了这么多年的项目每次新创建项目的时候总是会用到各种工具类,然后重新写或者从其他项目中拷贝过来,如此反反复复的进行着,如果将这些常用的工具类方法整合起来在新项目中直接引用不用关心如何去实现,想用的时候可以直接使用简单方面,于是这个简单、不复杂的工具包就产生了,也是希望能够带来方便。2. 如何使用工具包已经发布到maven仓库了,maven项目可以直接在pom.x原创 2021-08-16 12:15:59 · 240 阅读 · 0 评论 -
如何正确的暂停线程
背景在一些特定的场景是当一个线程运行时,希望将线程暂停但是也不需要退出。原创 2019-06-13 23:16:50 · 1986 阅读 · 0 评论 -
Maven导入三方jar包到仓库中
使用maven管理jar包,确实是比较方便,但是在实际工作中往往会用到公司或者三方提供的jar包,就要导入到仓库中才能使用。mvn install:install-file -Dfile=*jar包的路径* -DgroupId=*gruopId中的内容* -DartifactId=*actifactId的内容* -Dversion=*version的内容* -Dpackaging=jarja...原创 2019-01-09 10:16:40 · 253 阅读 · 0 评论 -
ReentrantLock分析Lock与tryLock
ReentrantLock锁的底层实现已经阐述过了,那么如何使用,本文进行下样例展示,主要说两个功能:1. lock及中断,2. 申请等待时间;lock锁/** * @Description : * @author : Erick * @version : 1.0 * @time :2018-9-25 */public class ReentrantLockThread imple...原创 2018-09-30 17:03:03 · 2278 阅读 · 0 评论 -
ConcurrentHashMap源码浅析
前两篇文件对ReentrantLock、CAS做了简单的介绍,现在开始分析下作为线程安全的集合ConcurrentHashMap是如何保证线程安全的,内容均为个人理解,如有理解有误的地方也请看到的大神指出,进入正题。结构常量static final int DEFAULT_INITIAL_CAPACITY = 16; :默认初始大小static final float DEFAULT_LO...原创 2018-10-14 15:26:37 · 273 阅读 · 0 评论 -
ReentrantLock与CAS
继续之前文章。无论是HashMap,LinkedHashMap,ArrayList等都是非线程安全的,在并发情况下会出现问题,而Jdk也提供了concurrent包,该包下边主要是关于线程安全相关的类,例如ConcurrentHashMap,ConcurrentHashMap的实现原理不在这里阐述了,这里主要讲解跟它有关的锁问题ReentrantLock(重入锁),CAS(比较与交换)Reen...原创 2018-09-26 22:49:13 · 3480 阅读 · 0 评论 -
LinkedList浅析
本章分析LinkedList的数据结构,常用方法的实现及总结与ArrayList的区别和优缺点原创 2018-09-19 23:07:15 · 229 阅读 · 0 评论 -
LinkedHashMap浅析
LinkedHashMap是数组+双向链表的数据结构,继承HashMap并重写部分方法来达到双向链表的特性。 LindedHashMap重写了HashMap的Entry,使其具有双向链表的特性,自身维护的属性只有两个属性,其他均继承自HashMap。/** * The head of the doubly linked list. */ private tra...原创 2018-09-19 00:05:10 · 1026 阅读 · 0 评论 -
ArrayList浅析
前一篇分析了HashMap,这篇分析ArrayList的机构和常用的方法,有不对的地方也希望大咖指正。 ArrayList是一个数组,一个可以动态扩容的数组,进入正题。构造浅析ArrayList中有自定义属性:DEFAULT_CAPACITY:默认数组大小EMPTY_ELEMENTDATA:一个空数组elementData:存放数据的数组对象size:数组大小Arr...原创 2018-09-13 19:50:21 · 477 阅读 · 0 评论 -
HashMap浅析
HashMap比较常用,但是具体是如何实现的,通过学习底层逻辑有了一定的了解,主要是由数组和链表实现,在这里针对HashMap做个浅析。 结构: 主要是HashMap中是一个数组,而每个数组里边是一个链表即Entry,包括:key、value、next、hash。 几个主要参数:threshold:阀值是表示达到该值时需要扩容;loadFactor:扩容因子用于计划阀值,默认是0...原创 2018-09-12 22:40:52 · 170 阅读 · 0 评论