源码剖析
文章平均质量分 74
源码剖析-升入理解
xsf0814
这个作者很懒,什么都没留下…
展开
-
java-ThreadLocal
目录基本概念基本属性构造函数常用方法getsetremove常见问题ThreadLocal为什么会发生内存泄漏?实现原理ThreadLocal为什么会内存泄漏应用场景参考文章基本概念线程本地变量,读写线程隔离,操作可变数据互不影响ThreadLocal是多个线程互不影响,所以每个线程存一份变量,是一种空间换时间的思想基本属性ThreadLocalMap提供了一种为ThreadLocal定制的高效实现,并且自带一种基于弱引用的垃...原创 2021-04-14 16:42:10 · 71 阅读 · 0 评论 -
java-HashSet
基本概念public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable基本属性 // 底层用HashMap存储数据 private transient HashMap<E,Object> map; // HashMap的value部分 在map操作时补一下value的位置原创 2021-04-13 14:08:46 · 79 阅读 · 0 评论 -
java-TreeMap
目录基本概念基本属性构造函数无参构造有参比较器有参map有参有序map常用方法putputAllget总结参考文章基本概念红黑树实现实现NavigableMap 接口 具有排序功能public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.S..原创 2021-04-13 11:22:06 · 89 阅读 · 0 评论 -
java-HashTable
目录基本概念基本属性构造函数无参构造有初始化长度构造有初始化长度以及负载因子构造常用方法put(K key, V value)addEntryremoveget总结基本概念底层是Mappublic class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable.原创 2021-04-13 10:38:02 · 94 阅读 · 0 评论 -
java-LinkedList
基本概念public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable底层是个双向链表基本属性// 链表中的数据个数transient int size = 0;// 链表头部节点transient Node<E> first;原创 2021-04-13 09:21:53 · 58 阅读 · 0 评论 -
java-ArrayList
目录基本概念基本属性构造函数常用方法add(E e)add(int index, E element)remove(int index)remove(Object o)参考文章基本概念public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializ..原创 2021-04-12 18:05:10 · 66 阅读 · 0 评论 -
java-ConcurrentHashMap
基本概念table数组(Node<K,V>[])+单向链表(Node<K,V>[])+红黑树的结构(TreeNode<K,V> )基本属性// node数组最大容量:2^30=1073741824private static final int MAXIMUM_CAPACITY = 1 << 30;// 默认初始值,必须是2的幕数private static final int DEFAULT_CAPACITY = 16;//数组可能最大原创 2021-04-12 15:21:21 · 84 阅读 · 0 评论 -
java-AQS
目录AQS源码解析基本概念AQS支持的锁的类别存储节点Nodeacquire(int)tryAcquire(arg)addWaiter()acquireQueued独占式锁获取流程release(int):独占锁的释放acquireShared(int)releaseShared()AQS源码解析基本概念AQS是一个基于先进先出(FIFO)等待队列的实现阻塞锁和同步器的框架。AQS通过一个volatile int state变量来保存锁的状态。子.原创 2021-04-06 22:27:12 · 97 阅读 · 0 评论 -
java-synchronized
目录synchronized关键字基本概念三种使用方式特性原子性可见性有序性可重入性锁实现同步方法同步代码块原理对象实例组成对象头实例数据填充JDK1.6之后JVM对synchronized的优化锁升级偏向锁轻量锁重量级锁自旋锁自适应自旋锁synchronized关键字基本概念synchronized 属于独占式悲观锁,是通过 JVM 隐式实现的,synchronized 只允许同一时刻只有一个线程.原创 2021-04-05 22:59:03 · 106 阅读 · 0 评论 -
java-ThreadPoolExecutor
目录详解 ThreadPoolExecutor基本概念构造方法线程池任务执行的主要流程,如下图:知识扩展execute() VS submit()线程池的拒绝策略自定义拒绝策略ThreadPoolExecutor 扩展小结详解 ThreadPoolExecutor基本概念线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程.转载 2021-04-04 20:21:46 · 100 阅读 · 0 评论 -
java-线程
目录线程的状态有哪些?它是如何工作的?基本概念线程的状态有哪些?它是如何工作的?知识扩展BLOCKED 和 WAITING 的区别start() 和 run() 的区别线程sleep和wait的区别线程优先级线程的常用方法小结线程的状态有哪些?它是如何工作的?基本概念线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加.转载 2021-04-04 16:46:12 · 67 阅读 · 0 评论 -
java-HashMap
目录HashMap 底层实现原理是什么?JDK8 做了哪些优化?基本概念考点分析知识扩展HashMap 源码分析jdk1.8什么是加载因子?加载因子为什么是 0.75?查询方法新增方法扩容方法死循环分析小结HashMap 底层实现原理是什么?JDK8 做了哪些优化?基本概念在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结.原创 2021-04-04 15:50:01 · 101 阅读 · 0 评论 -
java-String
1、下载jdeclipse_update_site.zip,解压,将plugins文件下的jd.ide.eclipse_0.1.3.jar和jd.ide.eclipse.win32.x86_0.1.3.jar复制到eclipse安装目录下的plugins里 2、在eclipse里安装,选择help下的安装插件install new soft 或者叫update ……版本不同不一样,自己看哈...原创 2017-09-26 15:38:52 · 219 阅读 · 0 评论