
Java
文章平均质量分 65
shengdehaizi
越努力,越幸运
展开
-
volatile关键字的作用详解
1.volatile关键字的作用详解 概要:我们经常在java变量当中发现有些属性用volatile修饰,volatile修饰的属性到底和没用这个关键字修饰的属性有什么不同呢? 1.1 Java内存模型:定义了程序中各种变量的访问规则 首先我们要了解volatile变量的作用,就必须了解Java的内存模型,我们都知道CPU的计算速度是远远大于磁盘io,而应用的瓶颈通常也是消耗在磁盘io,网络io,访问资源等。为了使存储设备更解决cup的处理速度,我们通常会使用高速缓存来作为内存和处理器之间的缓存,原创 2021-04-11 20:04:15 · 385 阅读 · 0 评论 -
ArrayList集合解析
Java8 ArrayList集合解析 1.概念解析: ArrayList底层就是个数组,不过他封装了一系列对数组的操作,并且实现了自动扩容 2.首先我们来看下类中有哪些属性 /** * 默认的初始化容量大小为10 */ private static final int DEFAULT_CAPACITY = 10; /** * 用于共享空实例的共享空实例数组 */ private static final Object[] EMPTY_ELEMENTDATA = {}; /**原创 2021-04-10 08:59:15 · 171 阅读 · 0 评论 -
Java8 HashMap集合解析
Java8 HashMap集合解析 1.概要:hashMap作为面试常用考点经常被问道,所以需要多加了解,带着问题去思考才是最好的学习手段,在分析之前我先提几个问题 1.HashMap的put流程? 2.扩容机制? 3.底层数据结构? 4.默认容器大小和默认负载因子? 5.什么时候转红黑树什么时候又退化成链表? 6.线程安全吗?为什么不安全 2.首先了解一个类之前,我们先来分析类中有哪些属性 /**原创 2021-04-09 14:18:42 · 177 阅读 · 0 评论 -
Elasearch选主流程过程分析总结
1.ES选主流程分析 概要: 我们知道es本身就是具有分布式特性的框架,并且采用的主从的架构,有主有从,那么当出现网络故障或主节点挂了,ES如果维持集群的状态,重新选举出一个master结点呢? 1.1 采用的选举算法 es采用的选择算法是Bully算法,他假定集群中所以结点都有一个唯一的ID,使用该ID对结点进行排序。任何时候的当前Leader都是参与集群的最高ID结点.相关概念可参考:https://zhuanlan.原创 2021-01-30 20:18:10 · 472 阅读 · 0 评论 -
Synchronized原理及锁升级
1. Synchronized概念及作用 1.1 现如今的操作系统已经步入多核时代,可以支持大量的并行并发的访问计算机资源,既然存在并行和并发则如何处理各个线程对同一资源进行修改和访问的数据安全性问题.要保证正确的并发访问手段,提供方式有互斥同步,非阻塞同步. 互斥同步: 同步是指在多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一条线程访问,而互斥是实现同步的一种手段,临界区,互斥量(Mutex)和信号量都是常用的互斥实现方法,互斥是因,同步是果;原创 2020-10-05 11:44:32 · 292 阅读 · 0 评论