- 博客(67)
- 收藏
- 关注
原创 笔记-基础框架篇
JDK,JVM笔记JDK,JVM笔记集合笔记笔记-集合篇进程线程锁笔记笔记-进程线程锁MySQL数据库笔记MySQL数据库笔记MyBatis笔记MyBatis笔记Spring笔记Spring笔记Vue笔记Vue笔记Redis-分布式锁笔记Redis-分布式锁笔记消息队列笔记Redis-分布式锁笔记Elasticsearch笔记Elasticsearch笔记SpringCloud笔记.........
2021-09-17 21:19:31
229
原创 SpringBoot目录
LinuxSpringSpring-IOC(一)Spring-DI,代码结构(二)Spring-注解模式,自动装配(三)Spring-AOP事务引入代理(四)Spring-AOP(五)SpringBootSpring-jt-Day01-SpringBoot入门Spring-jt-Day02-热部署整合MybatisSpring-jt-Day03-MybatisPlusSpring-jt-Day04-SpringMVCSpring-jt-Day05-重定向转发JSON其他框架
2021-07-16 23:38:28
194
原创 文章目录汇总
RocketMQRocketMQ安装启动-Docker方式(一)RocketMQ原生API接收消息(二)RocketMQ整合SpringBoot收发消息(三)
2021-07-13 17:12:16
216
原创 SpringCloud笔记
文章目录1. SpringCloud2. 注册中心原理3. eureka服务注册中心4. nacos服务注册配置中心4.1 注册中心4.2 配置中心bootstrap.yml未完待续-------------------------1. SpringCloud是一系列框架的集合,简化了分布式系统的开发将单个应用开发成一组小型独立的服务服务注册 eureka, nacos配置中心 config,nacos消息总线 config bus+rabbitmq网关 zuul远程调用 open
2021-09-17 21:20:51
161
原创 认证短信MD5加密笔记
1.短信使用三方接口,阿里云-官网在auth服务上远程调用三方接口即可1. 验证码的再次校验将验证码存入redis中,因为它不是一个永久数据key可以是手机号,加上头value就是验证码,加上手机号2. 接口防刷,防止恶意刷验证码在验证码redis中的value上加上一个系统时间判断系统时间和你要再次调用接口的时间,相差多少,如果不满足60s,不能重新发送,需要返回一个异常状态(自定义)满足程序就往下执行,实现发送验证码功能3. 注册成功回到登录页面直接重定向到登录页
2021-09-17 21:20:41
449
原创 SpringCache缓存笔记
Spring专门对缓存的一个抽象层1. 引入依赖spring-boot-starter-cachespring-boot-starter-data-redis2. 写配置在application中配置使用的那个缓存spring.cache.type=redis2.1 缓存的名字可以不配置,会自动生成,如果配置,会禁用实时的创建这个名字的功能, 以后只会使用你配置的名字3. 测试使用缓存//触发将数据保存到缓存的操作@Cacheable: Triggers cache pop
2021-09-17 21:20:31
507
原创 Canal实现数据同步笔记
文章目录Canal实现mysql主从同步1. Canal安装2. SpringBoot整合Canal-客户端mysql同步到ES,Canal实现mysql主从同步1. Canal安装主库Mysql打开binlog,从库要求数据库名称和表名称,表结构与主库一致mysql添加用户权限,可以远程访问的用户权限安装Canal-阿里的组件安装在你要同步的主库的系统下编辑Canal配置文件 /config/example/instance.properties 配置文件
2021-09-17 21:20:19
413
原创 Elasticsearch笔记
1. ES-docker安装启动配置挂载目录777属性设置es虚拟机内存2. kibana-Docker安装设置连接ES地址3. ES操作请求路径:http:#192.168.126.130:9200/索引/类型/idget 获取put 提交必须带idpost 提交可以不用带id,es自动生成唯一id同一ID两次提交,为修改3.1 更新post put使用 /索引/类型/id/_update 方式更新,则需要在请求体中加入{ "doc":{ "nam
2021-09-16 23:45:22
218
原创 消息队列笔记
1. Ribbitmq简单模式工作模式合理分发 -手动ack qos=1消息持久化-队列持久化,消息持久化发布和订阅模式消息群发fanout交换机路由模式路由键匹配路由消息direct交换机主题模式关键词: aa.bb.cctopic交换机RPC模式消息队列,就是一个使用队列来通信的消息组件特点:可靠性: 持久化,传输确认,发布确认灵活的路由: 在消息进入队列之前,通过交换器来路由消息。扩展性: 多个RabbitMQ节点可以组成
2021-09-16 23:43:34
189
原创 Redis-分布式锁笔记
文章目录1. 非关系型Nosql数据库-2. 设置过期时间3. 优点-缺点4. 为什么使用5. 数据类型6. 持久化7. 架构模式8. redis除了缓存还可以做什么8.1 redis作为队列-异步9. 缓存穿透10. 缓存雪崩11. 缓存击穿12. 主从原理master-salve13. 集群机制redis cluster14. 哨兵sentinel15. 脑裂问题1主3从16. 分布式锁17. 分布式锁框架Redisson17.1 使用lock方法17.2 公平锁 fair lock17.3 读写锁**
2021-09-16 23:41:00
786
原创 Vue笔记
文章目录1. 数据2. 事件3. 属性绑定4. 分支结构5. 循环结构6. 表单提交7. 计算属性8. 监听器9. 过滤器10. 生命周期函数11. 数组的操作12. 组件化12.1 全局组件-定义13. 局部组件14. axios15. 路由vue是一套基于构建用于界面的渐进式框架,设计为自底向上引用,只关注视图层1. 数据div id 为vue挂载点通过script new vue()的el进行挂载{{id}}插值表达式,获取data区数据,也可使用v-text获取,也可通过v-html获取解析
2021-09-16 23:34:02
166
原创 Spring笔记
文章目录1. Spring是什么1.1 Spring的好处2. Spring的模块2.1 IOC2.1.1 依赖注入:2.2 AOP2.3 Spring单例的bean线程安全吗2.4 spring mvc2.4.1 MVC三层2.4.2 MVC执行流程2.5 spring中的设计模式2.6 @Component和@Bean区别3. spring事物管理3.1 事物传播行为-7种1. PROPAGATION_REQUIRED-默认的方式2. PROPAGATION_SUPPORTS3. PROPAG
2021-09-16 23:29:59
213
原创 MyBatis笔记
文章目录1. 什么是Mybatis?2. #{} ${}3. mapper.xml/DAO4. mybatis一级,二级缓存5. mapper接口调用要求6. 模糊查询 xml文件中怎么实现7. 实体类中的属性和表中的字段不一致8. 获取自动生成的主键值9. mapper传递多个参数10. 多表连接查询11. MyBatisPlus逻辑删除,自动填充11.1 逻辑删除11.2 自动填充# SqlSessionTemplate# MapperFactoryBean# MapperScannerConfigu
2021-09-16 23:27:52
193
原创 MySQL数据库笔记
文章目录1. 查看sql是否走索引1.1 explain查询出数据的列的含义2. 索引-避免不走索引的场景3. SQL语法执行顺序4. mysql三范式1. 查看sql是否走索引在查询sql前面加一个explainexplain select ..........1.1 explain查询出数据的列的含义id:选择标识符select_type:表示查询的类型。table:输出结果集的表 , 显示这一行的数据是关于哪张表的partitions:匹配的分区type:表示表
2021-09-16 23:25:45
162
原创 笔记-进程线程锁
文章目录1. 进程2. 线程2.1 并发编程三要素2.2 创建3. 线程的异常处理4. 线程生命周期4.1 七态模型4.2 线程相关方法5. 锁5.1 ReentrantLock Lock锁5.2 synchronized5.3 Volatile1. 进程可以包含多个线程有一个自己的地址空间2. 线程由进程分配资源,和进程共享空间,但也拥有一个自己的空间,其他线程无法访问2.1 并发编程三要素原子性:即一个不可再被分割的颗粒。在Java中原子性指的是一个或多个操作要么全部执行成功
2021-09-16 23:23:04
167
原创 笔记-集合篇
文章目录1. ArraysList:2. Vector3. LinkedList 链表4. HashSet5. TreeSet :底层二叉树,对新存入的值,进行顺序排序6. LinkedHashSet7. HashMap,7.1 java77.2 java8 以后,就给hashmap加入了红黑树7.3 map put操作,7.4 hashmap扩容8. ConcurrentHashMap9. HashTable10. TreeMap11. LinkedHashMap12. 迭代器13. 深拷贝和浅拷贝
2021-09-16 23:20:17
181
原创 JDK,JVM笔记
jdkjava语言开发工具提供了java编译器,java运行环境,java类库jrejava运行环境,是包含在jdk中的jvmjava虚拟机,运行java程序的jvm内存查看工具jps:查看本机java进程信息jstack:打印线程的栈信息,制作 线程dump文件jmap:打印内存映射信息,制作 堆dump文件jstat:性能监控工具jhat:内存分析工具,用于解析堆dump文件并以适合人阅读的方式展示出来jconsole:简易的JVM可视化工具
2021-09-16 23:14:18
4083
原创 Seata AT分布式事物实现(三)
1. Seata Server - TC全局事务协调器分布式事物中:TM,RM是嵌入在业务应用中,而TC则是一个单独的服务: Seata Server下载地址: https://github.com/seata/seata/releases1.1 Seata Server配置文件1. seata/conf/registry.conf配置注册中心,那么其他服务就可以通过注册中心去发现 Seata Server,与 Seata Server 进行通信registry { # file 、nac
2021-07-15 20:30:04
259
原创 Seata AT模式分布式事物控制(二)
文章目录1. Seata AT1.1 Seata AT基本原理1.2 业务场景1.3 执行各分支事物第一阶段: 启动各分支本地事物订单,库存,账户第二阶段: 控制全局事物,完成分布式事物提交第二阶段: 控制全局事物最终回滚-失败1. Seata ATSeata AT模式一种无侵入的分布式事务解决方案1.1 Seata AT基本原理Seata AT 事务分两个阶段来管理全局事务:第一阶段: 执行各分支事务第二阶段: 控制全局事务最终提交或回滚1.2 业务场景1.订单服务保存订单2.订单服务调
2021-07-15 18:52:59
274
原创 笔记总结1
1. RabbitMQ1.1 简单模式1.2 工作模式合理分发需要做到手动ACKqos=1消息持久化队列持久化消息持久化发布和订阅模式消息群发fanout交换机1.4 路由模式路由键匹配路由消息1.5 RPC模式2. RocketMQ延时消息顺序消息事物消息, 高可靠消息区别这几种消息方式的区别消息服务的使用场景解耦流量削峰异步调用项目中使用消息bus消息总线, 使用消息服务来传递配置刷新指令sleuth+zipkin链路跟踪, 各模块
2021-07-15 17:40:29
185
原创 分布式事物控制(一)
1. 为什么要做分布式事物在项目中, 一个业务往往调用其他业务, 每个业务都有自己的数据库, 如何实现多个业务的数据一致性呢?使用分布式事物控制2. CAP原则在一个分布式系统中:C: 一致性(Consistency)在分布式系统中的所有数据备份,在同一时刻是否同样的值。A: 可用性(Availability)保证每个请求不管成功或者失败都有响应。P: 分区容错性(Partition tolerance)系统中任意信息的丢失或失败不会影响系统的继续运作。这三个要素最多只能同
2021-07-15 15:29:20
192
原创 SpringBoot整合Elasticsearch-Spring Data Elasticsearch实现增删改查(三)
文章目录1. Spring Data Elasticsearch2. 创建项目2.1 添加依赖2.2 application.yml文件2.3 pojo类Student2.4 通过ElasticsearchRepository实现CRUD操作2.4.1 Repository 方法命名规范2.4.2 创建StuRepository接口2.4.3 在ES中创建Student索引2.4.4 实现新增/修改操作2.4.5 实现查询操作2.4.6 实现删除操作2.4.7 在ES中查看数据2.5 使用Criteria
2021-07-14 18:28:34
1046
原创 Elasticsearch-Kibana操作ES-Docker(二)
文章目录1. 安装启动Kibana1.1 下载Kibana镜像1.2 启动Kibana镜像1.3 访问Kibana2. ES索引,分片,副本2.1 索引2.2 分片2.3 副本2.4 创建索引3.映射(数据结构)3.1 字段的数据类型常用类型:3.2 创建映射-Kibana中3.3 添加文档查看文档查看指定文档title字段的分词结果:3.4 修改文档3.5 删除文档3.6 删除索引1. 安装启动Kibana1.1 下载Kibana镜像docker pull kibana:7.9.3注意: Kib
2021-07-14 15:43:08
342
原创 Elasticsearch-搭建ES集群,安装IK分词器-Docker(一)
1. 安装Elasticsearchdocker pull elasticsearch:7.9.32. 创建虚拟网络和挂载目录# 创建虚拟网络docker network create es-net# 创建并设置文件属性为777# node1 的挂载目录mkdir -p -m 777 /var/lib/es/node1/pluginsmkdir -p -m 777 /var/lib/es/node1/data# node2 的挂载目录mkdir -p -m 777 /var/lib
2021-07-13 19:31:00
1480
1
原创 RocketMQ整合SpringBoot收发消息-可靠消息最终一致性实现分布式事务(三)
1. 编辑pom.xml配置文件pom.xml文件添加依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.1.0</version> </
2021-07-13 09:02:19
730
原创 RocketMQ原生API接收消息(二)
1. 新建工程项目pom.xml添加依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.7.1</version> </dependency>
2021-07-12 20:26:39
207
原创 Redis-Docker(一)
目录1. 为什么使用缓存2. 什么是NoSQL3.Redis3.1 启动Redis3.2 连接Redis3.3 Redis数据类型3.4 Redis数据持久化3.5 Redis事物管理4. Java操作数据库4.1 Jedis的应用4.2 连接池JedisPool4.3 RedisTemplate5. Redis分片5.1 概念5.2 启动多个服务5.3 操作分片数据6. Redis缓存概念6.1 缓存穿透6.2 缓存雪崩分析Redis配置文件详解1. 为什么使用缓存缓存是改善性能的第一手段2. 什么
2021-07-12 20:01:58
206
原创 Redis集群-Docker(二)
目录1. 三主三从-服务器介绍1.1 启动1.1.1 三个redis.conf配置文件1.1.2 编辑配置文件1.1.3 启动容器1.1.4 执行命令配置集群1.1.5 进入容器, 查看集群信息2. Redis哨兵模式2.1 哨兵模式作用2.2 配置哨兵模式1. 三主三从-服务器介绍Redis Cluster 集群模式通常具有 高可用、可扩展性、分布式、容错 等特性master可以有多个slave;1.1 启动1.1.1 三个redis.conf配置文件 /opt/redis/7000/
2021-07-09 11:23:39
187
原创 RocketMQ安装启动-Docker方式(一)
1. Docker安装RocketMQ镜像1.1 搜索RocketMQ镜像命令:docker search rocketmq我们这里使用rocketmqinc/rocketmq镜像1.2 下载镜像命令:docker pull rocketmqinc/rocketmq下载版本为rocketmqinc/rocketmq:latest版本此镜像,有server和broker,可直接使用1.3 下载Rocketmq控制台命令:```...
2021-07-06 17:53:23
4502
2
原创 Java基础知识
文章目录基础语法基本类型(8种)基本类型的字面值规则基本类型的运算规则运算符方法流程控制数组面向对象(*)封装继承多态抽象类final,static,访问控制符接口内部类基础API集合(*)IO线程(*)网络反射基础语法基本类型(8种)byte,short,int,long,float,doublechar,boolean基本类型的字面值规则整数字面值是 int 类型byte,short,char 比 int 小的整数
2021-07-04 04:44:00
302
原创 SpringBoot集成Mail功能
1. 邮件介绍1.1 邮件的作用邮件在项目中会经常用到,例如:注册,验证,找回密码,登录,信息通知1.2 邮件协议SMTP协议: SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。IMAP协议 :  
2021-07-03 16:39:58
1113
转载 SSM,数据库
–1,数据库产品关系型:Mysql、Oracle、SqlServer、DB2。。。非关系型:Redis、ES…SQL的优化参考帖子:https://blog.youkuaiyun.com/u012932876/article/details/1173599921,用字段名代替*2,where里尽量不要用or3,在做表设计时,尽量用varchar代替char4,观察SQL的执行性能,使用关键字explain,目的就是观察SQL有没有使用索引5,做模糊查询时,尽量确定开始的元素 where name l
2021-07-02 09:11:20
174
转载 后端项目架构-数据库高可用(1)
1. 后端项目架构-数据库高可用(1)1.1 数据库主从同步1.1.1 业务需求说明当数据库发生宕机的现象,如果配置了数据库主从同步,则可以从从库中获取现有记录,显示数据的恢复.1.2 数据库主从同步原理1.2.1 数据库冷备份说明: 人工的将数据库文件定期导出,一式三份 如果其中一份丢失,另外2份可以留作替补.弊端: 数据不能实时备份.解释: 工作中数据库的冷备份是恢复数据最后有效的手段(重大事故)1.2.2 数据库热备份说明: 最为主要的作用可以实现实时备份. 几乎保证数据不丢失.
2021-06-29 08:47:38
314
原创 Mybatis-Plus代码生成器
1 创建maven/SpringBoot项目2 为项目添加依赖2.1 SpringBoot常用依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.0</version>
2021-06-01 01:35:21
192
转载 Spring-jt-Day20-总结
京淘项目阶段复习1.1 Spring框架总结: Spring框架的主要的作用整合其他第三方框架2大核心机制: 1.IOC/DI 2.AOP1.1.1 IOC总结: 控制反转 将对象创建的权利交给Spring容器管理,由spring容器管理对象的生命周期.1.1.2 DI总结: DI依赖注入注入方式: 1.Set注入 必须有set方法 2.构造注入 必须无参构造方法.1.1.3 自动装配 autowire总结: 注入的方式有2种1.通过name属性进行注入
2021-05-25 18:23:32
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅