自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 消息队列

消息队列1、为什么使用消息队列?为什么使用消息队列?消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。解耦:看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要时时刻刻考虑 BCDE 四个系统如果挂了该咋办?要不要重

2020-08-23 17:33:20 860

原创 ElasticSearch总结

1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。2、elasticsearch 的倒排索引是什么3、elasticsearch 索引数据多了怎么办,如何调优,部署4、elasticsearch 是如何实现 master 选举的5、详细描述一下 Elasticsearch 索引文档的过程6、详细描述一下 Elasticsearch 搜索的过程?7、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法8、

2020-08-23 16:41:44 1556

原创 ArrayList源码分析

ArrayList源码分析1、ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。2、ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。3、ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。Random

2020-08-23 15:01:23 156

原创 HashSet底层原理

HashSet底层原理HashSet 本身并没有什么特别的东西,它提供的所有集合核心功能,都是基于HashMap来实现的。HashSet 的特点如下:内部使用HashMap的key存储元素,以此来保证元素不重复;HashSet是无序的,因为HashMap的key是无序的;HashSet中允许有一个null元素,因为HashMap允许key为null;HashSet是非线程安全的。源码如下:public class HashSet<E> extends AbstractSet&

2020-08-23 14:19:12 261

原创 选举算法

一、mysql主从选举二、zookeeper主从选举三、ES master选举四、哨兵选举五、Redis cluster选举六、kafka parition选举

2020-08-20 22:33:32 1620

原创 ConcurrentHashMap底层原理

一、JDK1.7 ConcurrentHashMap底层原理二、JDK1.8 ConcurrentHashMap底层原理

2020-08-15 16:31:03 2515

原创 HashMap底层原理

一、JDK1.7 HashMap底层实现二、JDK1.8 HashMap底层实现

2020-08-15 16:30:30 140

原创 LinkedHashMap的底层原理

LinkedHashMap的底层原理LinkedHashMap通过维护一个运行于所有条目的双向链表,保证了集合元素迭代的顺序,这个顺序可以是插入顺序或者访问顺序。LinkedHashMap的特点1、key和value都允许为空。2、key重复会被覆盖,value可以重复。3、有序的。4、LinkedHashMap是非线程安全的。LinkedHashMap的基本结构1、LinkedHashMap可以认为是HashMap+LinkedList,也就是说,它使用HashMap操作数据结构,也用Li

2020-08-15 16:19:19 782

原创 RocketMq学习与总结

1

2020-08-13 16:22:42 125

原创 TCP/IP学习(待续)

1、http1.0、http1.1和http2.0有什么区别。(一)、Http1.0和Http1.1的区别长连接: Http1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启长连接keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。HTTP1.0需要使用keep-alive参数来告知服务端要建立一个长连接。节约带宽: HTTP1.0中存在一些浪费带宽的现象,例如客户端只是需要某个

2020-08-12 22:48:49 211

原创 彻底解决分布式事务

彻底结决分布式事务1、事务1.1、本地数据库事务事务是由单独单元的一个或者多个sql语句组成,在这个单元中,每个mysql语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条sql执行失败或者产生错误,整个单元将会回滚,所有受到影响的数据将会返回到事务开始之前的状态;如果单元中所有的SQL语句均执行成功,则事务被顺利执行。回顾一下数据库事务的四大特性 ACID:A(Atomic) 原子性:一个事务不可再分割,要么都执行要么都不执行。C(Consistency) 一致性:一个事务

2020-08-09 21:15:48 554

原创 Java技术知识点总结

Java总结JAVA基础1、JAVA中的几种基本数据类型是什么,各自占用多少字节。2、String类能被继承吗,为什么。3、String,Stringbuffer,StringBuilder的区别。4、ArrayList和LinkedList有什么区别。5、讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当new的时候,他们的执行顺序。6、用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储

2020-08-09 17:49:29 399

原创 并发编程(中)

6、AQS(AbstractQueuedSynchronizer)1、简介AQS ,AbstractQueuedSynchronizer ,即抽象队列同步器。它是构建锁或者其他同步组件的基础框架(如 ReentrantLock、ReentrantReadWriteLock、Semaphore 等),J.U.C 并发包的作者(Doug Lea)期望它能够成为实现大部分同步需求的基础。它是 J.U.C 并发包中的核心基础组件。2、优势AQS 解决了在实现同步器时涉及到的大量细节问题,例如获取同步状态、

2020-08-09 15:38:15 111

原创 IO多路复用模型(poll、select、epoll的原理及区别)

IO多路复用模型IO:input和output,一般指数据的写入、数据的读取。IO主要分成两类:硬盘IO和网络IO,本内容主要针对网络IO。复用的含义可以理解为重复使用某个事物,而在本文,这个事物是指一个线程。因此,IO多路复用,是指并发socket连接复用一个IO线程(只需要一个线程,即可为多个client同时提供socket连接请求)。如果用户程序要将数据写入或者读取数据,那么它在底层必须通过文件描述符才能达到相应的操作,因此IO多路复用与文件描述符密切相关联。(一)文件描述符IO多路复用的sel

2020-08-09 13:50:00 1611

原创 Java虚拟机(JVM)总结

JVM的主要组成部分及其作用JVM包含两个子系统和两个组件两个子系统为:Class Loader(类装载子系统)、Execution Engine(执行引擎)。两个组件为:Runtime Data Area(运行时数据区)、Native Interface(本地接口)。Class Loader:根据给定的全限定类名来装载class文件到运行时数据区的方法区中。Execution Engine:执行classes中的指令。Native Interface:与本地方法库交互,是与其他编程语言交互的

2020-08-09 10:45:26 281

原创 并发编程(上)

1、synchronized底层原理2、ReentrantLock底层原理3、volatile关键字底层原理4、ThreadLocal底层原理

2020-08-01 14:00:07 228

原创 Spring总结与源码解析

1、Spring 框架功能整体介绍2、Spring IOC容器底层注解使用3、Spring IOC容器源码解析4、Spring是如何解决循环依赖问题的5、Spring AOP源码分析6、Spring事务源码解析

2020-08-01 11:35:28 80

原创 多种分布式锁的实现

一、Redission实现分布式锁1、基本用法<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.8.2</version></dependency>//单机RedissonClient redisson = Redisson.create();Co

2020-08-01 11:34:30 511

原创 Redis三种集群方式

一、Redis主从架构单机的 Redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。Redis replcation的核心机制1、Redis 采用异步方式复制数据到 slave 节点,不过 Redis2.8 开始,slave node会周期性地确认自己每次复制的数

2020-08-01 11:34:10 853

原创 Redis的五大数据类型的底层实现

https://www.cnblogs.com/MouseDong/p/11134039.html一、字符串对象String二、列表对象List三、哈希对象Hash四、 集合对象Set五、有序集合对象Zset

2020-08-01 11:33:40 259

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除