
Java基础
y75xwr
这个作者很懒,什么都没留下…
展开
-
多线程——各种锁
一、synchronized 加锁方法与原理synchronized是一种互斥锁一次只能允许一个线程进入被锁住的代码块synchronized是一种内置锁/监视器锁Java中每个对象都有一个内置锁(监视器,也可以理解成锁标记),而synchronized就是使用**对象的内置锁(监视器)**来将代码块(方法)锁定的synchronized的好处synchronized保证了线程的原子性。(被保护的代码块是一次被执行的,没有任何线程会同时访问)synchronized还保证了可见性。(原创 2020-08-03 15:21:19 · 239 阅读 · 0 评论 -
线程池实现以及自定义线程池参数详解
上一篇:多线程基础知识预备一、初步认识线程池1.使用优点线程和任务分离,提升线程的的重用性。控制线程的并发数量,降低服务器压力,统一管理所有线程。提升系统响应速度,假如创建线程的时间为T1,执行任务的时间为T2。销毁线程的时间为T3,那么使用线程池就免去了T1和T3的时间。2.使用场景分别是单一线程的线程池、固定数量的线程池、周期性执行线程池、可缓存线程池**单一线程的线程池:**一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这个唯原创 2020-07-31 14:35:05 · 607 阅读 · 0 评论 -
Java容器一览表
一、Collection总览1.Collection功能2.迭代器(Iterable)Iterator也是一个接口,它只有三个方法:hasNext()next()remove()1.List集合特点:有序(存储顺序和取出顺序一致),可重复常见子类:ArrayList底层数据结构是数组。线程不安全LinkedList底层数据结构是链表。线程不安全Vector底层数据结构是数组。线程安全2.Set集合特点:元素不可重复常见子类:HashSet集合底层数据结原创 2020-07-29 16:18:42 · 180 阅读 · 0 评论 -
1.8 HashMap底层实现与源码分析
一、HashMap数据结构使用红黑数红黑树特点每个节点或是红的或是黑的‘根节点是黑的叶节点是黑的如果一个节点是红色的,它的两个叶子节点都是黑色的每个节点,从该节点到它的子孙节点所有路径上包含同等数量的黑节点红黑树的调整父节点是黑色,不用调整父节点是红色:(1与3实现的效果一样)叔叔是空,旋转+变色(G P变色)叔叔是红色,父节点和叔叔节点全变为黑色+父节点变为红色叔叔是黑色的,旋转+变色...原创 2020-07-29 14:36:19 · 125 阅读 · 0 评论 -
1.7 HashMap底层实现与源码分析
一、HashMap数据结构二、HashMap线程安全三、HashMap扩容方式四、HashMap底层实现五、HashMap内存原创 2020-07-26 16:40:19 · 168 阅读 · 0 评论 -
1.7 concurrentHashMap底层实现与源码分析
数据结构线程安全通过UNSAFE获取内存中的实时变量值,通过trylock与lock锁锁住一些方法扩容方式底层实现原创 2020-07-29 12:34:38 · 164 阅读 · 0 评论 -
JVM内存分布、类加载的过程与GC收集器
GC垃圾回收器原创 2020-07-26 14:32:50 · 154 阅读 · 0 评论 -
LinkedList底层实现源码分析与ArrayList区别
数据结构双向数据链结构//在LinkedList类中的属性只有三个属性transient int size = 0;//记录节点个数transient Node<E> first;//记录链表的第一个节点transient Node<E> last;//记录链表最后一个节点常用方法构造方法增加IndexOutOfBoundsExceptionadd()linkFirst()头增linkLast()尾增addAll()删除NoSuchElementEx原创 2020-06-20 10:25:55 · 226 阅读 · 0 评论 -
ArrayList底层实现源码讲解与vector区别
一、ArrayList数据结构ArrayList的底层数据结构是一个类型为Object的数组。数组的初始长度与创建ArrayList对象时使用的构造方法有关注:数组“elementData”是用来存储数据、操作数据的数组“DEFAULTCAPACITY_EMPTY_ELEMENTDATA”是默认的空数组传入的初始长度使用无参构造函数,创建长度为0的数组,在加入第一个数据时会将数组扩容到默认值10使用传相同数据类型的数组的构造函数,长度为传参数组的长度经测试,如果要存100万数据,需原创 2020-06-18 23:22:42 · 532 阅读 · 0 评论