自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 平衡树和二叉树的区别

一、平衡二叉树(AVL树) 1、概念 AVL树是带有平衡条件的二叉查找树,一般是用平衡因子差值判断是否平衡并通过旋转来实现平衡,左右子树树高不超过1,和红黑树相比,AVL树是严格的平衡二叉树,平衡条件必须满足(所有节点的左右子树高度差不超过1)。不管我们是执行插入还是删除操作,只要不满足上面的条件...

2020-09-25 22:23:33 226 0

原创 远程调用 Dubbo 与 Feign 的区别

一、相同点 Dubbo 与 Feign 都依赖注册中心、负载均衡。 二、区别 1、协议 Dubbo: 支持多传输协议(Dubbo、Rmi、http、redis等等),可以根据业务场景选择最佳的方式。非常灵活。 默认的Dubbo协议:利用Netty,TCP传输,单一、异步、长连接,适合数据量小、高...

2020-09-23 22:02:21 2092 0

原创 eureka、nacos、consul的区别

1、配置中心 配置中心 eureka 不支持 nacos 支持 用起来简单,符合springBoot的命名风格,支持动态刷新 consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新 2、注册中心 eureka nacos...

2020-09-22 23:27:07 116 0

原创 请说说你对线程安全的理解

其实博主之前面试也有被问到这个问题,当时我用自己的语言组织回答的,我觉得当时回答的不够严谨。现在我查阅了相关资料做了以下的总结。 《深入理解Java虚拟机》第二版 周志明著 Page386页有相关定义。周志明也是引用的别人的定义,我这里贴出来。 笔者认为《Java Concurrency In P...

2020-09-19 20:36:17 163 0

原创 HashMap存1000条数据,构造时传多少才能让HashMap不需要动态扩容?

一、HashMap 的初始化 关于HashMap 的初始化,可以参考我们上一篇说过:JDK8中的HashMap初始化和扩容机制 二、HashMap 的 table 初始化 这个问题也可以这样问,HashMap存1000条数据,构造时传1000会不会让HashMap动态扩容? 回到 HashMap ...

2020-09-19 17:53:13 285 0

原创 JDK8中的HashMap初始化和扩容机制

一、HashMap初始化方法 HashMap() 不带参数,默认初始化大小为16,加载因子为0.75; HashMap(int initialCapacity) 指定初始化大小; HashMap(int initialCapacity, float loadFactor) 指定初始化大小和加载...

2020-09-19 14:03:36 305 0

原创 我的架构梦:(五十一) MySQL存储与优化之MySQL集群架构

MySQL存储与优化之MySQL集群架构一、集群架构设计二、主从模式三、 双主模式四、分库分表 一、集群架构设计 1、架构设计理念 在集群架构设计时,主要遵从下面三个维度: 可用性 扩展性 一致性 2、可用性设计 站点高可用,冗余站点 服务高可用,冗余服务 数据高可用,冗余数据 保证高可用...

2020-09-17 23:37:51 447 2

原创 SpringBoot 配置文件位置的加载顺序

SpringBoot配置文件可以使用yml格式和properties格式 分别的默认命名为:application.yml、application.properties 官网都是以yml作为参考,层级结构更清晰的一种配置文件。 –file:./config/ –file:./ –classpath...

2020-09-16 21:29:14 149 0

原创 我的架构梦:(五十) MySQL存储与优化之MySQL事务和锁

MySQL存储与优化之MySQL事务和锁一、ACID 特性二、事务控制的演进三、 事务隔离级别四、锁机制和实战五、死锁与解决方案 一、ACID 特性 在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID原子性(Atomicity)、一致性(Consist...

2020-09-16 00:58:31 99 0

原创 我的架构梦:(四十九) MySQL存储与优化之MySQL索引原理

一、索引类型 索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下: 从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引 从应用层次划分:普通索引、唯一索引、主键索引、复合索引 从索引键值类型划分:主键索引、辅助...

2020-09-15 00:35:17 121 0

原创 String s = new String()分析各个场景创建了几个堆和栈

场景1: String str1 = “abc”; System.out.println(str1 == “abc”); 步骤: 栈中开辟一块空间存放引用str1 String池中开辟一块空间,存放String常量”abc” 引用str1指向池中String常量”abc” str1所指代的地址...

2020-09-13 17:06:02 80 0

原创 我的架构梦:(四十八) MySQL存储与优化之MySQL架构原理

一、MySQL体系架构 MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。 1、网络连接层 客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术,例如常见的 Java、C、Python、...

2020-09-13 16:16:02 198 0

原创 Redis多集群客户端

一、pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</...

2020-09-09 21:33:44 122 0

原创 Scala多线程初始化redis集群

话不多说,上代码: def multiThreadInitialization(): Unit = { var coreSize = Runtime.getRuntime.availableProcessors() + 1; var threadPool:ExecutorService =...

2020-09-08 22:34:37 68 0

原创 源码解读之(八)ConcurrentLinkedQueue

源码解读之(八)ConcurrentLinkedQueue一、前言二、ConcurrentLinkedQueue介绍与结构三、offer操作四、poll操作五、peek操作六、size操作七、remove操作八、ConcurrentLinkedQueue遇到的问题九、总结 一、前言 在并发编程中我...

2020-09-08 22:25:17 59 0

原创 我的架构梦:(四十七) 第二代 Spring Cloud核心组件之Nacos+Sentinel+Dubbo三剑合璧

第二代 Spring Cloud核心组件之Nacos+Sentinel+Dubbo三剑合璧一、前言二、服务提供者工程改造三、 服务消费者工程改造 一、前言 改造自动投递微服务和简历微服务,删除OpenFeign 和 Ribbon,使用Dubbo RPC 和 Dubbo LB 首先,需要删除或者注释...

2020-09-01 23:04:33 224 0

原创 我的架构梦:(四十六) 第二代 Spring Cloud核心组件之SCA Sentinel分布式系统的流量防卫兵

第二代 Spring Cloud核心组件之SCA Sentinel分布式系统的流量防卫兵一、Sentinel 介绍二、Sentinel 部署三、服务改造四、Sentinel 关键概念五、Sentinel 流量规则模块六、Sentinel 降级规则模块七、Sentinel 自定义兜底逻辑八、基于 N...

2020-09-01 01:32:54 119 0

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