- 博客(62)
- 收藏
- 关注
原创 Elasticsearch的分词器
在settings里面定义analyzer(可选) +tokenizer(必须,只能 1 个) +filter(可选,token filter)# 自定义分词器,支持字符映射和同义词过滤},},# 测试其中字符通过映射转化:$ => yuan,phone新增了近义词dianhua。
2026-09-28 12:14:37
230
原创 Elasticsearch使用
通过 put 索引名创建一个索引通过get /my-index 可以查看索引信息aliases:别名mappings:映射信息,定义文档里有哪些字段、字段类型。不指定将使用动态mapping,添加数据时自动生成。settings:定义索引怎么分片、刷新、副本、写入性能等底层参数。
2026-09-26 23:14:26
199
原创 Elasticsearch核心概念
Elasticsearch(简称 ES)是一个,底层基于 Apache Lucene 开发,使用 Java 编写。对外提供 RESTful HTTP API,用 JSON 交互;天然支持集群、分片、副本,很容易水平扩容。
2026-09-25 17:14:52
460
原创 java中的垃圾回收器
垃圾回收集器分;JDK8 默认:Parallel Scavenge + Parallel Old;JDK9 开始默认 G1;
2026-09-23 00:04:55
199
原创 mysql执行执行流程
5.7 版本:拿到 SQL,先查缓存,看这条 SQL 是否有缓存结果。缺点:只要表发生任何更新,缓存全部失效,生产不推荐,8.0 移除。事务、Read View、会话变量都绑定在这个连接线程上。Server 层不存数据,数据全部在 InnoDB。估算 cost,不是绝对准确,会选错索引。长连接会一直持有线程;,选出代价最小的执行方案,输出。执行器拿到执行计划,
2026-09-21 21:21:07
312
原创 Redis使用及数据结构
Reids是基于内存的非关系性数据,而mysql的数据存在磁盘上,所以redis性能普遍高于mysql。但读写性能还受硬件、配置、数据大小、持久化策略、事务、是否集群、是否锁冲突等影响。普遍的认为单机redis一般支持10万级并发读写,mysql只到万级。对于同一热点数据(同一个key或同一行数据),redis单线程排队而mysql需要加锁阻塞,redis依旧支持万级QPS而mysql只支持几百。
2026-09-03 22:43:56
277
原创 Redis基本概念及应用
redis是非关系型的key-value数据库,存储数据时需要一个唯一的key。redis中所有的key存储在全局hash表中。当key出现hash冲突时会生成链表。当链表过长时会触发rehash扩容,因为redis是单线程数据量大的时候直接全部扩容会导致redis服务阻塞,所以采用了,在内部维护两张hash表,需要扩容时初始化扩容表长度为原来的2两倍,每次执行命令时顺便完成迁移。
2026-09-03 22:36:13
171
原创 java中new类的执行顺序
java中的类属于懒加载,new一个对象的实例,首先会判断该类Class是否已经加载到内存中,若没加载需要先加载,加载时会完成static属性和代码块的执行;然后申请内存完成对象的实例化。实例化对象时若有继承关系,子类成员变量及构造代码块执行是在父类构造完之后,本类构造方法执行前完成的。
2026-08-30 14:30:47
225
原创 RocketMQ消费者消息获取
RocketMQ 消费者,本质是;所谓 PushConsumer 只是 SDK 封装的伪推送,底层依然是循环向 Broker 发拉取请求。
2026-08-27 22:42:11
169
原创 RocketMQ中的broker
Broker 是 RocketMQ 最核心服务节点,承担等能力,底层基于 Netty Remoting 对外提供服务。
2026-08-26 23:23:32
218
原创 RocketMQ的NameServer
NameServer 是 RocketMQ 的,无状态,可集群部署,节点之间互不通信,各节点数据是最终一致。
2026-08-24 18:43:40
350
原创 RocketMQ的分布式事务消息
本地数据库执行事务,同时要发送消息;希望做到:本地事务成功则消息一定发出,本地事务回滚则消息不发出。RocketMQ 事务消息不能做到强一致,是。
2026-08-24 10:18:02
332
原创 RocketMQ核心概念
消费者通过设置监听为MessageListenerOrderly,可以保证同一个队列中的消息被顺序消费,若是消息处理时报错,消息不会被投递到重试队列而是等待一段时间后重新消费,若是一直不成功消息消费会被堵塞造成消息堆积。生产者生产消息时可以批量发送,需将消息封装到List,同一批消息只能属于同一个topic,list中的数据不能超过4M,这一批消息只能进入同一个topic的一个队列。消费队列,逻辑索引文件。消息的分类,消息的一级分类。消费失败,消息不会直接丢弃,发往当前消费组对应的重试队列,延迟重试。
2026-08-23 22:17:38
177
原创 springboot的自动装配
SpringBoot 自动装配:根据条件,自动把第三方组件 / Bean 注入到 Spring 容器,不用手动写大量 XML、不用手动 @Bean,本质是 Spring 的条件注解 + SPI 扩展机制。
2026-08-14 22:44:22
238
原创 spring整合mybaits
mybatis可以和spring进行整合,需要将核心类进行包装并交给sping容器管理,整合需要导入mybatis-spring包。
2026-08-09 22:32:35
215
原创 mybatis中的插件
mybatis支持配置插件,实现自定义的功能增强。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:若配置了插件,构建时则生成对应的代理类,从而实现功能增强。
2026-08-08 16:07:12
227
原创 Mybatis源码-核心流程及核心类
mybatis 是一款优秀的持久层框架,简化数据库操作,包括数据库连接创建、返回结果集处理,支持动态sql,使用户可以只关心业务sql。
2026-08-06 15:43:46
220
原创 UML类图
UML图为统一建模语言,是用来设计软件的可视化建模语言,它的特点是简单、统一、图形化能表达软件设计中的动态与静态信息。属性和方法修饰符:+表述public、- 表示private、#表示protect、什么都不加表示default。依赖:虚线 + 普通箭头,箭头指向被依赖类。UML类图中,用长方形表示类,将长方形垂直的分为3部分,分别表示类名、属性、和方法。组合(强拥有):实线+实心菱形,菱形在整体一侧。动态行为图:状态图、活动图、时序图、协作图、构建图等。静态结构图:类图、对象图、组件图、结构图。
2026-07-27 10:56:25
234
原创 sentinel规则持久化到nacos
sentinel控制台新增的规则默认只会由控制台推送到客户端内存中,每次服务重启规则就会失效,可以通过调整sentinel源码配合nacos实现规则的持久化,并且支持nacos修改后实时更新规则到sentinel控制台。解压后,用idea打开,不做任何修改直接启动sentinel-dashboard,模版工程添加简单配置后可已实现默认模式接口限流(无法持久化限流规则)。访问测试接口后,sentinel控制台会自动新增一条针对接口的触点链路,可添加相应的流控规则。springboot 版本:2.6.11。
2026-07-16 22:46:33
180
原创 MyBatis_helloword编写
项目结构:1.准备数据库,数据表的创建创建对象和Dao接口CREATE TABLE `t_employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `empname` varchar(50) NOT NULL, `gender` int(11) DEFAULT NULL, `email` varchar(100) DEFAUL...
2019-11-06 21:23:47
209
原创 spring和springMVC整合
spring和springMVC,两个配置文件应分开(即使用两个,配置文件)spring的配置文件配置和业务相关的组件(事务控制、数据源等)springMVC配置文件配置和网站转发逻辑及网站功能有关的组件(视图解析器、文件上传解析器、支持ajax等)两种方式:1.在一个配置文件中包含,另一个配置文件,只创建一个ioc容器,没实现分离 <import resource="spring...
2019-11-06 15:28:41
295
原创 利用Spring的AOP实现日志打印
要求:使用AOP实现计算器功能增强,调用方法时,在对应位置添加日志步骤:1.导包:要使用@Aspect、@Before、@AfterReturning、@AfterThrowing等注解,需要导入 aspect包2.将目标类和切面类放入ioc容器:添加对应的注解,切面类要添加@Aspect,告知容器他是切片类3.给切面类里面的方法添加注解,告知个方法何时何地切入。4.在配置文件中开启a...
2019-11-01 19:53:49
665
原创 动态代理小案例(给计算器添加日志)
需求:有一个自己创建的类Calculater,里面有加、减、乘、除方法。要求在不改变原方法的基础上对各个方法实现增强(打印日志)原理:java中的Proxy类,有一个newProxyInstance(loader, interfaces, h),可以创建一个代理类,在其中可以执行被代理类的方法,并可以是现在方法前后对方法做增强处理。参数说明:loader - 定义代理类的类加载器int...
2019-11-01 16:02:02
400
原创 Spring注解使用
使用注解将组件添加到ioc容器Spring中的四个注解:@Controller:控制器:推荐给控制层组件添加(Servlet),负责接受请求,转发请求@Service:业务逻辑,推荐给业务逻辑层添加,负责处理业务关系@Repository:仓库 推荐给数据库层(持久层,dao层)组件添加@Component:组件,推荐不属于上面三层的组件添加注意:各个注解原则上没有太大的区别,但是按规...
2019-11-01 15:43:59
174
原创 Spring各种bean配置
通过构造函数: <bean id="person" class="com.gang.Person"> <constructor-arg name="name" value="张珊"></constructor-arg> <constructor-arg name="age" value="20"></constructor-arg&g...
2019-10-31 21:52:22
228
原创 跟换JDK版本
删除原版本的java.exe 。在cmd中使用 where java,删除对应路径的java.exe安装新版本的jdk修改环境变量tomcat:启动不了1.删除清除tomcat缓存,删除工程目录下,servers,项目缓存2.清除tomcat安装目录下的work所有东西,删除server.xml 中<Context>标签3.重新添加servers,启动前改变默认路径,使...
2019-10-31 12:59:08
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅