`
文章列表
springboot项目项目路径问题 转载自:https://blog.csdn.net/m0_37692230/article/details/79127415 springboot学习指南:https://www.jianshu.com/p/1a9fd8936bd8
iteye如何在博客中插入图片 转载自:https://blog.csdn.net/hbiao68/article/details/17113181

ThreadLocal

ThreadLocal 源码解析转载自:https://www.cnblogs.com/micrari/p/6790229.html
阻塞队列BlockingQueue 转载自:https://www.jianshu.com/p/f2791bbaf348 阻塞队列(BlockingQueue)的概念:         当队列中为空时,从队列中获取元素的操作将被阻塞,当队列满时,向队列中添加元素的操作将被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其它的线程往队列中插入新的元素。同样,试图往满的队列中添加新元素的线程也会被阻塞,直到有其他的线程使队列重新变的空闲起来。(类似于生产者和消费者模式) 注:主要针对多线程并发时存在。 java.util.concurrent包下BlockingQueue的实现类: 1: ...

HashMap

HashMap 源码解析+常见HashMap问题转载自:https://blog.csdn.net/richard_jason/article/details/53887222 强子HashMap存储结构博客:https://blog.51cloud.win/2017/05/14/HashMap/#more HashMap解析:https://blog.51cloud.win/2018/03/05/浅析JavaHashMap源码/#more 总结: 什么是 ...

TreeMap

TreeMap 源码解析:https://blog.csdn.net/qq_23211905/article/details/76691961         TreeMap底层是基于红黑树进行处理的。查询,插入,删除的时间复杂度为O(logN),插入和删除会牵扯到红黑树的左旋,右旋和着色。 TreeMap不是线程安全的类。 TreeSet: private transient NavigableMap<E,Object> m; TreeSet(NavigableMap<E,Object> m) { this.m ...
树 树的遍历:都是依据根节点遍历的顺序来的,分为先序,中序,后序,然后先左节点,后右节点。 1:中序遍历:左根右(从左节点开始遍历,然后是根节点,然后是右节点,下同) 2:先序遍历:根左右 3:后序遍历:左右根 1:普通二叉树:每个节点最多有2颗子树。 a.满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点。 b.完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。 2:二叉查找树:对于树中的每个节点X,它的左子树中所有项的值小于X中的值,而它的右子树中所有项的值大于X中的值。(左值<根值<右值)。 时间复杂度 ...

Stack

Stack Stack源码解析转载自:https://www.jianshu.com/p/62a989e7448c Stack是Vector的子类,遵循先进后出原则。是线程安全的类。
多线程面试题 Java线程面试题Top 50转载自:http://www.cnblogs.com/dolphin0520/p/3958019.html 40个Java多线程问题总结转载自:http://www.cnblogs.com/xrq730/p/5060921.html

volatile

volatile volatile详解转载自:http://www.cnblogs.com/dolphin0520/p/3920373.html 共享数据安全的三个特性:原子性,可见性,有序性。 当保证了以上三个特性时,多线程并发并不会对数据造成影响。 volatile能保证可见性和有序性,但是不能保 ...

select,poll,epoll

select,poll,epoll 详解转载自:https://www.cnblogs.com/Anker/p/3265058.html jdk1.4中nio中引入了select,poll模式,jdk1.5中sun对其进行了优化,引入了epoll。 select缺点: 1:每次调用select都需要把fd从用户态拷贝到内核态,开销比较大。 2:每次都需要在内核遍历传入的fd。  3:支持文件数量比较小,默认是102 poll缺点: poll的实现和select非常相似,只是描述fd集合的方式不同,poll使用pollfd结构而不是select的fd_set结构,其他的都差不多。 epo ...

CopyOnWriteArrayList

CopyOnWriteArrayList 源码解析转载自:https://www.cnblogs.com/leesf456/p/5547853.html 总结: 1:线程安全,读操作时无锁,相当于的ArrayList。 2:底层数据结构是一个Object[],初始容量为0,之后每增加一个元素,容量+1,数组复制一遍。 3:增 ...

LinkedList

LinkedList LinkedList源码解析转载自:https://www.cnblogs.com/CherishFX/p/4734490.html 线性表介绍转载自:https://www.jianshu.com/p/02f8696bf4cf 总结:LinkedList是基于双向链表实现的。其中的元素不存在下标索引,因此不适合于查找,但适合于添加(add)和删除(remove)。LinkedList进行插入和删除时,只需修改相邻元素的next和previous的引用即可,即重新指向next和previous的引用。 数据结构:prev | data | next 。(LinkedL ...

Buffer源码解析

Buffer源码解析 Buffer的demo请看转载自:https://www.cnblogs.com/tankaixiong/p/3949421.html /** * 一个特定基元类型数据的容器。 * 缓冲器是一个特定的线性、有限的元素序列的原始类型。除了内容之外,。 * 缓冲区的基本属性是其容量(capacity)、限制(limit)和位置(position)。 * * capacity:缓冲区的容量是它包含的元素的数量。缓冲区的容量从不为负,也从不改变。 * limit:缓冲区的limit是应该的第一个元素的索引。也从不为负,小于其capacity。 * p ...
SelectionKey源码解析 转载自:http://blog.csdn.net/robinjwong/article/details/41792623 SelectionKey表示监听的事件。将channel注册到selector上时,需要声明SelectionKey,以此声明监听事件。(这样Selector才知道需要记录什么数据) 注: 句柄:可以认为 ...
Global site tag (gtag.js) - Google Analytics