自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch学习(3) :数据聚合、自动补全、数据同步、集群

聚合常见种类 DSL实现聚合 Bucket(桶)聚合语法 聚合结果排序 限定聚合范围 Metric(度量)聚合语法RestAPI实现聚合API语法 酒店聚合案例实现自动补全 拼音分词器 自定义分词器 自动补全查询 酒店搜索框自动补全案例实现 数据同步常见方案及优缺点:同步调用、异步通知、监听binlog 酒店数据同步案例实现(rabbitmq ES集群搭建实战 单点问题及解决思路 搭建ES集群 集群脑裂问题 集群分布式存储流程 集群分分布式查询流程 集群故障转移

2025-01-15 22:26:38 862

原创 Elasticsearch学习(2) :DSL和RestClient实现搜索文档

DSL搜索文档全文检索查询:match(单字段)、multi_match(多字段) 精准查询 :term(等值)、range(范围) 地理坐标查询:geo_distance(距离)、geo_bounding_box(矩形框) 复合查询:fuction score(算分函数查询)、bool query(布尔查询) 相关性算分和fuction score bool query(布尔查询) 搜索结果处理 排序:普通字段排序、地理坐标排序 分页:基本分页、深度分页问题 分页优缺点总结 高亮

2025-01-10 22:42:05 1136

原创 Elasticsearch学习(1) : 简介、索引库操作、文档操作、RestAPI、RestClient操作

1.elasticsearch简介1.1.了解es1.2.倒排索引1.3.es的一些概念:文档和字段;索引和映射;Mysql与ES1.4.安装es、kibana2.索引库操作2.1.mapping映射属性2.2.索引库的CRUD3.文档操作3.1.新增、查询、删除文档3.2.修改文档:全量、增量修改4.RestAPI:RestClient操作索引库4.1.导入Demo4.2.创建索引库5.RestClient操作文档5.1.新增文档5.2.查询文档5.3.删除文档

2025-01-09 21:33:15 1052

原创 Linux扩展——shell编程

shell概述 shell变量运算符 $((表达式)) $[表达式] 条件判断 test condition 或 [ condition ] ★流程控制read读取控制台输入 函数Shell工具cutawksortsedwc 正则表达式

2024-12-23 23:08:35 813

原创 Linux基础及命令复习

常用Linux命令帮助类命令man★文件目录类命令 pwd ls cd mkdir rmdir touch cp rm mv cat more less head tail echo >覆盖和>>追加 ln创建链接和软连接 history文件权限类命令 chmod chown chgrp文件属性信息解读chmod chown chgrp★压缩和解压缩命令 gzip/gunzip zip/unzip tar★VI和VIM编辑器★搜索查找类命令 find grep |进程线程类命令 ps ki

2024-12-19 17:42:40 880

原创 为什么阿里禁止直接使用日志系统的API?

一般情况下,推荐的做法是直接使用门面模式,也就是说提供一个统一的接口去访问多个子系统的不同的实现类,这样的话对于应用程序来说无论底层的日志框架如何变都不需要有任何的感知,只要门面服务做的足够好,随意更换另外一个日志框架,应用程序不需要修改任意一行代码就可以直接上线,即使有一天要更换代码的目志框架,只需要修改一个jar包,最多再改改日志输出相关的配置文件就可以了。),如果在我们的开发过程中直接使用具体的API,那么在未来如果需要去实现日志组件的升级和切换,就会变得很困难,基本上是属于牵一发而动全身。

2024-11-03 21:38:29 371

原创 后端开发——规则引擎简介(Drools)

什么是规则引擎? 规则引擎带来的好处;Drools案例 规则引擎的工作原理及应用场景 常见的规则引擎及对比 工作流引擎与规则引擎有什么不同

2024-10-10 17:46:05 3240 1

原创 总结:无序的n个数中找第k大;n海量时咋办;k海量时又咋办(桶排序)

如何在无序的n个数中找到第k大的数?如何在海量无序的n个数中找到第k大的数?如果k大到连k个数都不能放入内存呢?

2024-09-21 16:20:42 1001

原创 阿里部分集团内部中间件简介

Pandora Boot HSF MetaQ TDDL Xdb·OTS·OceanBase Switch EagleEye SLS Sunfire

2024-09-14 21:24:12 1925

原创 计网简简单单复习一下

计算机网络基础 HTTP TCP IP ARP PING WebSocket 网络攻击 CDN 跨域

2024-09-11 22:20:30 1288

原创 RocketMQ复习

MQ技术对比 基本概念(消费者组、订阅关系等) 消费模式 各种消息类型 重复消费问题(去重;幂等) 重试机制与死信消息 堆积问题 丢失问题 安全问题

2024-09-06 14:44:47 1475

原创 ThreadLocal如何解决父子线程间通信问题?(上下文传递)

ThreadLocal如何解决父子线程间通信问题? IlnheritableThreadLocal实现父子线程传递上下文 线程装饰器实现主线程和线程池上下文传递 阿里开源项目Transmittable ThreadLocal(TTL)实现主线程和线程池上下文传递

2024-08-14 20:34:01 2018 1

原创 微服务相关复习

Spring Cloud 5大组件 服务注册发现;nacos与eureka的区别 负载均衡;Ribbon负载均衡策略;自定义负载均衡策略 服务雪崩、降级、熔断 微服务是怎么监控的? 有没有做过限流?怎么做 CAP理论;BASE理论 采用哪种分布式事务解决方案 xxl-job相关

2024-08-13 16:01:57 1124

原创 Redis 8种底层数据结构简介

SDS 链表 压缩列表 哈希表与渐进式Rehash 整数集合 跳表 quicklist listpack

2024-08-11 21:39:34 981

原创 Redis复习总结

基础简介;与Memcached的区别;为什么作为mysql缓存?如何保证Redis中都是热点数据 ?线程模型?为什么单线程还那么快?I/O多路复用(epoll)?除了做缓存还能拿来做什么?Redis是AP还是CP的?Redis的最佳实践数据结构9种数据类型及适用场景底层数据结构事务如何实现redis原子性;除了lua还有办法么?为什么Lua能保证原子性?执行失败会怎么样?持久化数据如何不丢失(RDB、AOF)Big Key相关过期删除与内存淘汰过期删除(过期key)内存淘

2024-08-06 16:07:16 1162

原创 MySQL添加索引时会锁表吗?

在MySQL5.5以及之前的版本,通常更改数据表结构操作(DDL)会阻塞对表数据的增删改操作(DML)。MySQL5.6提供Online DDL之后可支持DDL与DML操作同时执行,降低了DDL期间对业务延迟带来的影响。下面进行案例演示。我们准备了一个分数表,有600万的测试数据,接下来我们验证一下我们日常使用的ALTER语句(不提交),看看是否会全程锁表#事务A 添加索引 不提交begin;# commit;#事务B 查询数据与修改数据begin;commit;begin;

2024-07-19 15:05:28 1679 3

原创 Spring后端框架复习总结

Spring什么是AOP?底层原理?事务底层原理?多线程事务能不能保证一致性?事务失效场景?Bean的生命周期及常用自定义方法循环依赖相关Spring MVC是什么,核心是什么,它的执行流程?Spring MVC的控制器(bean)是不是单例模式(是不是线程安全)?存在什么问题?如何解决?起步依赖、自动配置原理;yml等配置文件的配置优先级控制反转与依赖注入原理常见注解有哪些? @Autowird 与 @Resource的区别过滤器与拦截器的区别如何解决跨域问题?设计模式Myba

2024-07-18 15:43:05 1143

原创 Google Guava Cache简介

Google Guava Cache简介 和Redis的区别

2024-07-10 21:49:17 1014

原创 RocketMQ学习(3) 秒杀实战

前置知识 QPS、jmeter压测 一般的秒杀架构如何设计 本项目结构设计 数据库 接收用户秒杀服务 pom和配置文件 SeckillController 处理秒杀服务(重点) pom和配置文件 Mysql、Redis数据同步 创建秒杀监听 方案一 在事务外面加锁 先查库存再减带来的并发问题 方案二 分布式锁 - mysql(行锁) 方案三 分布式锁 - redis setnx

2024-06-03 19:58:35 1098

原创 RocketMQ学习(2) 深入学习

消息重复消费问题(去重;幂等) 布隆过滤器 重试机制 死信消息 SpringBoot集成RocketMQ 集成SpringBoot发送不同消息模式(同步消息) 异步消息 单向消息 延迟消息 顺序消息 批量消息 事务消息 发送对象消息和集合消息 消息标签,tag 消息key 负载均衡和广播,两种消息消费模式 消息堆积问题 消息丢失问题 消息安全问题 底层设计小探

2024-05-31 21:12:07 1288

原创 RocketMQ学习(1) 快速入门

RocketMQ概念、安装与配置 docker配置 RocketMQ快速入门**同步消息 消费模式 **异步消息 *单向消息 **延迟消息 *顺序消息 批量消息 事务消息 *发送带标签的消息,消息过滤 **RocketMQ中消息的Key

2024-05-28 19:27:17 1353 1

原创 SpringCloud入门(3) RabbitMQ

MQ简介 同步通讯和异步通讯 MQ技术对比 RabbitMQ快速入门 安装 管理界面简介 RabbitMQ消息模型与入门案例 SpringAMQP Basic Queue 简单队列模型 Work Queue任务模型 发布/订阅模型 Fanout 广播 Exchange接口声明队列和交换机 Direct 定向 基于@RabbitListener注解声明队列和交换机 Topic 通配符 消息转换器

2024-05-23 21:47:09 833

原创 Git总结超全版

版本管理工具简介 Git安装与配置 Git远程仓库配置 Git常用命令 为常用命令配置别名(可选)Git忽略文件.gitignore一些概念*本地仓库操作 删除仓库内容 *远程仓库操作 *分支操作 分支及合并的冲突问题 开发中分支使用原则与流程 标签操作 在IDEA中使用Git IDEA中配置Git 获取Git仓库 本地仓库操作 远程仓库操作 分支操作

2024-05-19 21:28:22 1055 1

原创 MySQL个人复习总结

SQL的优化方式有哪些?执行一条 select 语句,期间发生了什么?InnoDB如何存储数据?为什么选择B+树作为索引数据结构?使用 like “%x“,索引一定会失效吗?Count(\*)、Count(1)、Count(主键)、Count(字段)性能?如何优化Count(\*)?简单介绍一下MVCC机制和Read View。MySQL 可重复读隔离级别,完全解决幻读了吗?如何避免?一条update 语句的执行过程。三种日志的作用。redo log 要写到磁盘,数据也要写磁盘,为什么要多此一

2024-04-26 16:01:44 2686 2

原创 SpringCloud入门(2) Nacos配置管理 Feign远程调用 Gateway服务网关

Nacos配置管理 配置热更新 @RefreshScope @ConfigurationProperties 配置共享 Nacos集群 Feign远程调用替代RestTemplate 实现基于抽取的最佳实践 Gateway服务网关 断言工厂 过滤器工厂 路由过滤器的种类 默认过滤器DefaultFilter 全局过滤器GlobalFilter 三种过滤器执行顺序? Gateway解决跨域问题

2024-04-22 21:08:28 769

原创 Java后端常见场景业务问题

单点登录如何实现 权限认证如何实现 上传数据的安全性如何保证 项目日志如何采集 已经上线的bug如何排查 如何快速定位系统瓶颈

2024-04-09 14:41:23 1678

原创 Java基础知识点复习(概念、语法与集合)

Java提供的常见集合ListArrayList底层实现ArrayList list=new ArrayList(10)中的list扩容几次如何实现数组和List之间的转换用Arrays.asList转List后,如果修改了数组内容,list受影响吗?List用toArray转数组后,如果修改了List内容,数组受影响吗ArrayList 和 LinkedList 的区别如何解决ArrayList 和 LinkedList 不是线程安全问题HashMapHashMap的实现原理HashM

2024-04-07 21:37:47 1077

原创 什么是跨域问题,SpringBoot如何解决?

什么是跨域? 如何解决跨域问题? JSONP (JSON with Padding) CORS(跨源资源共享) @CrossOrigin注解实现 WebMvcConfigurer addCorsMappings CorsFilter 代理服务器反向代理(推荐)

2024-04-01 17:14:56 836 1

原创 用尽可能少的操作,使得二叉树先序遍历序列为一个升序的数组

小红拿到了一个二叉树,每个节点的权值都不相同。小红每次操作可以交换任意两个节点的权值,她希望用尽可能少的操作,使得二叉树先序遍历序列为一个升序的数组。问题其实就是问怎么样用最少的操作,使得一个无序数组为一个升序数组。从二叉树中取出序列,然后求出其有多少个循环节,最小交换次数=序列长度-循环节个数。

2024-03-28 21:51:44 188

原创 Spring用到了哪些设计模式?

工厂模式 单例模式 1.饿汉式,线程安全 2.懒汉式,线程不安全 3.懒汉式,线程安全 4.双重检查锁(DCL, 即 double-checked locking) 5.静态内部类 6.枚举单例 代理模式 模板模式 包装器(装饰器)模式 观察者模式 适配器模式 责任链模式 策略模式

2024-03-28 12:31:55 1822

原创 Spring是如何解决循环依赖问题的?

什么是Spring中的三级缓存? Spring中的三级缓存是如何解决循环依赖问题的? 解决Spring循环依赖问题一定需要第三级缓存吗? 解决Spring循环依赖问题一定需要第二级缓存吗? 什么场景下的Spring循环依赖问题无法解决? 采用了构造器的注入方式 相互依赖的bean都是原型bean 采用@DependsOn注解而导致的循环依赖 使用了@Async注解 如何解决构造器注入的循环依赖? @Lazy是如何解决Spring循环依赖问题的?

2024-03-26 15:29:22 1300

原创 java多线程编程面试题总结

新建 T1、T2、T3 三个线程,如何保证它们按顺序执行? 在 java 中 wait 和 sleep 方法的不同? 如何停止一个正在运行的线程? synchronized关键字的底层原理 谈谈 JMM(Java 内存模型) CAS volatile AQS ReentrantLock的实现原理synchronized和Lock有什么区别 ?死锁产生的条件是什么?如何进行死锁诊断?ConcurrentHashMap并发程序出现问题的根本原因(并发三大特性)ThreadLocal

2024-03-24 21:42:51 1593

原创 从零开始手写RPC框架(番外) Netty基础知识点及常见面试题汇总

Bytebuf(字节容器) Bootstrap 和 ServerBootstrap(启动引导类) Channel(网络操作抽象类) Selector EventLoop(事件循环) NioEventLoopGroup ChannelHandler(消息处理器) 、 ChannelPipeline(ChannelHandler 对象链表)和 ChannelHandlerContext ChannelFuture(操作执行结果) BIO,NIO 和 AIO 有啥区别?为什么要用 Nett

2024-03-22 15:56:14 1195

原创 SpringCloud入门(1) Eureka注册中心 Ribbon负载均衡 Nacos注册中心

认识微服务 SpringCloud 服务拆分和远程调用 服务拆分案例 实现远程调用 RestTemplate Eureka注册中心 Eureka的结构和作用 搭建eureka-server 服务注册 服务发现Ribbon负载均衡 @LoadBalancedLoadBalancerIntercepor源码解析负载均衡策略饥饿加载Nacos注册中心安装与使用Nacos服务注册到nacos服务分级存储模型同集群优先的负载均衡权重配置环境隔离Nacos与Eureka的区别

2024-03-19 16:43:30 1640

原创 一文学完JVM所有知识点!

JVM组成 JVM运行流程 什么是程序计数器 堆 虚拟机栈 堆栈区别 方法区 常量池 直接内存 ClassLoader 类加载器 双亲委派模型 类装载 垃圾收回 GC 引用计数法 可达性分析算法 垃圾回收算法

2024-03-16 23:16:26 1240

原创 TCP/IP模型中网络层和网络接口层的区别 通俗解释

TCP/IP模型中网络层和网络接口层的区别 通俗说法

2024-03-07 16:08:35 988

原创 从零开始手写RPC框架(5)

编码器 注册中心 CuratorUtils 负载均衡策略 动态代理屏蔽网络传输细节 通过spring注解注册/消费服务

2024-03-05 16:43:55 953

原创 从零开始手写RPC框架(4)

网络传输实体类 网络传输实现 基于Socket实现网络传输 基于Netty实现网络传输 客户端 服务端

2024-03-04 16:42:52 1183

原创 Java 枚举类的深入理解与应用

枚举类的定义与使用 枚举类的构造函数和字段 枚举类的方法 枚举类的高级特性 枚举类实现接口 特定于常量的方法实现 使用枚举类封装数据

2024-03-03 20:34:25 668

原创 从零开始手写RPC框架(3)——ZooKeeper入门

ZooKeeper简介 ZooKeeper中的一些概念 ZooKeeper安装与常用命令 常用命令 ZooKeeper Java客户端 Curator入门

2024-03-03 16:57:17 1328

SpringBoot Web请求响应案例

SpringBoot Web请求响应案例

2023-10-24

空空如也

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

TA关注的人

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