- 博客(111)
- 收藏
- 关注
原创 Vue07
目标:明确Vuex是什么,应用场景以及优势在创建Vuex.store实例的时候往里面添加一个mutations的对象,然后可以在它里面定义一系列用于修改仓库中数据的方法state: {count: 0},// 定义mutations})在参数实例中添加getters对象,可以在里面定义一些getters函数//getters 类似于计算属性getters: {// 注意点:// 1. 形参第一个参数,就是state,在getters函数中可以使用这个state拿到数据。
2025-02-10 23:51:12
644
1
原创 Vue06
router-link的两个高亮类名 太长了,我们希望能定制怎么办声明式导航跳转时, 有几种方式传值给路由页面?查询参数传参(多个参数)动态路由传参(一个参数,优雅简洁)编程式导航,如何跳转传参?1.path路径跳转query传参this.$router.push('/路径?参数名1=参数值1&参数2=参数值2')path: '/路径',query: {参数名1: '参数值1',参数名2: '参数值2'})动态路由传参this.$router.push('/路径/参数值')
2025-02-03 14:08:45
663
原创 Vue05
基本语法(全局、局部注册)指令的值v-loading的指令封装... 这都是Vue给咱们内置的一些指令,可以直接使用自定义指令:同时Vue也支持让开发者,自己注册一些指令。这些指令被称为自定义指令每个指令都有自己各自独立的功能自己定义的指令,可以封装一些对DOM的操作,扩展额外的功能全局注册//在main.js中//inserted指的是当指令所绑定的元素被添加到页面中时,会自动调用的钩子函数Vue.directive('指令名', {
2025-01-28 00:31:19
1238
原创 08-Elasticsearch
基本语法PUT/索引库名,可以自定义mapping映射格式PUT /索引库名称"mappings": { mappings属性:在里面设置映射"properties": { properties属性:在里面写字段"字段名":{ 字段名对应的值就是对字段的约束,也就是指定各种mapping属性},"字段名2":{},"字段名3":{"子字段": {},// ...略示例PUT /heima"info":{},"email":{},"name":{索引库操作有哪些?
2025-01-22 23:46:30
910
1
原创 Java中的日期时间API
注意:如果指定的DateTimeFormatter对象中的日期时间格式和时间字符串对象的格式不同,则会报DateTimeParseException异常。LocalDateTime 表示日期 和 时间 (年月日时分秒)LocalDate类的表示不包含具体的时间,通常表示的是年月日。LocalDate 表示日期(年月日)LocalTime 表示时间(时分秒)
2025-01-14 00:28:03
855
原创 02一文掌握Docker
其中,比较常见的命令有:docker中常见的命令就是操作镜像和容器命令说明文档地址拉取镜像推送镜像到DockerRegistry查看本地镜像docker rmi删除本地镜像docker rmidocker run创建并运行容器(不能重复创建)docker run停止指定容器启动指定容器重新启动容器docker rm删除指定容器docker ps查看运行中的容器docker ps查看容器运行日志进入容器保存镜像到本地压缩文件加载本地镜像压缩文件 为 镜像查看容器详细信息。
2025-01-13 01:04:58
717
原创 07-MQ高级
每个只能配置一个,因此可以在配置类中统一设置。@Slf4j@PostConstruct //当所属类的实例被 Spring 容器创建并注入了所需的依赖后就调用方法//调用RabbitTemplate的setReturnsCallback设置其ReturnsCallback@Overridelog.error("触发return callback,");//消息发给哪个交换机//消息发给哪个交换机的哪个routingKey//消息体的内容//发送失败的原因//发送失败的原因。
2025-01-12 17:28:39
700
原创 03-微服务
什么时候需要拆分微服务?如果是创业型公司,最好先用单体架构快速迭代开发,验证市场运作模型,快速试错。当业务跑通以后,随着业务规模扩大、人员规模增加,再考虑拆分微服务。如果是大型企业,有充足的资源,可以在项目开始之初就搭建微服务架构。如何拆分?首先要做到高内聚、低耦合从拆分方式来说,有横向拆分和纵向拆分两种。纵向就是按照业务功能模块,横向则是拆分通用性业务,提高复用性服务拆分之后,不可避免的会出现跨微服务的业务,此时微服务之间就需要进行远程调用。微服务之间的远程调用被称为RPC,即远程过程调用。
2025-01-07 15:47:05
919
原创 06-RabbitMQ基础
Work模型的使用:多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列如果多个队列具有相同的RoutingKey,则与Fanout功能类似描述下Direct交换机与Topic交换机的差异?Topic交换机接收的消息RoutingKey必须是多个单词,以 .分割。
2025-01-05 03:42:37
1143
原创 Java多线程
概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者-消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程:用于生产数据一类是消费者线程:用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为。
2025-01-02 23:59:05
818
原创 04-微服务02
无论是还是都支持自定义,只不过编码方式、使用方式略有差别。自定义不是直接实现GatewayFilter接口,而是实现。@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");// 放行注意:该类的名称一定要以为后缀!spring:cloud:gateway:- PrintAny # 此处直接以自定义的GatewayFilterFactory类名称前缀类声明过滤器@Component。
2024-12-29 02:35:11
1282
1
原创 SpringMVC中的拦截器
拦截器:拦截器其实就是一个类SpringMVC 中的Interceptor拦截器主要用于:拦截指定的请求,并进行相应的预处理与后处理和最终处理。多个拦截器可以组成拦截器链,就是执行完一个拦截器再向下执行下一个拦截器...在判断是否登录的处理器方法中增加操作:如果登录成功,就在Session对象中存储用户信息,表示登录成功System.out.println("访问login.jsp");//判断是否登录//如果登录成功,就在Session对象中存储用户信息,表示登录成功。
2024-12-27 00:00:47
478
原创 MVC架构模式
ThreadLocal(线程局部变量类)其实就是在ThreadLocal类中定义了个Map<Thread,T>集合,key存储的是当前线程,value存与当前线程绑定的数据(对象)作用:提供线程的局部(本地)变量,它是每个线程私有的(局部)本地变量,使用ThreadLocal存储的数据是线程安全的。通过ThreadLocal使程序中不同位置获取到的数据库连接对象是同一个/*** 自定义一个ThreadLocal类*//**
2024-12-26 23:49:16
947
1
原创 Vue04
组件通信,就是指组件与组件之间进行数据传递组件的数据是独立的,所以无法直接访问其他组件的数据。想使用其他组件的数据,就需要组件通信组件关系分类有哪两种父子组件通信的流程是什么?父向子子向父其实就是:在组件上 注册的 自定义属性,用于向子组件传递数据。
2024-12-13 00:17:25
1051
原创 Vue03
Vue CLI 是Vue官方提供的一个全局命令工具可以帮助我们快速创建一个Vue项目的标准基础架子,就是vue的项目目录。【集成了webpack配置】虽然脚手架中的文件有很多,目前咱们只需看下面标绿的三个文件和下面这四个即可node_modules:存放第三方依赖的public:存放html文件src:写代码的文件夹package.json:项目配置文件index.html 模板文件-- 用于兼容:给不支持js的浏览器一个提示 -->
2024-12-08 00:08:50
717
原创 Vue02
在指令后面紧跟“.”指明的指令后缀,不同的后缀封装了不同的处理 —> 简化代码1.computed有缓存特性,methods没有缓存2.当一个结果依赖其他多个值时,推荐使用计算属性3.当处理业务逻辑时,推荐使用methods方法,比如事件的处理函数watch侦听器的写法有几种?1.简单写法watch: {数据属性名 (newValue, oldValue) {一些业务逻辑 或 异步操作。},'对象.属性名' (newValue, oldValue) {一些业务逻辑 或 异步操作。
2024-12-03 23:31:58
967
原创 05-服务保护和分布式事务
Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。官方网站:Sentinel 的使用分为两个部分:核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。
2024-10-26 12:28:17
1071
原创 Vue01
概念:Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架Vue.js基于数据渲染出用户可以看到的界面渐进式就是循序渐进,不一定非得把Vue中的所有API都学完才能开发Vue,可以学一点开发一点所谓框架:就是一套完整的解决方案举个栗子如果把一个完整的项目比喻为一个装修好的房子,那么框架就是一个毛坯房。我们只需要在“毛坯房”的基础上,增加功能代码即可。提到框架,不得不提一下库。库,类似工具箱,是一堆方法的集合,比如 axios、lodash、echarts等。
2024-10-23 23:04:08
1116
原创 如何不依赖注册中心实现服务的远程调用
属性来指定服务的名称,然后通过服务发现机制(如 Nacos、Consul)来发现远程服务的位置。属性时,将不再依赖服务发现机制,而是直接使用指定的 URL 地址来远程调用服务。调用远程服务时,会使用这个指定的 URL 地址作为远程服务的基础地址。服务的基础 URL 地址为。需要注意的是,当使用了。
2024-10-11 23:51:04
293
原创 使用OpenFeing远程调用时为请求添加请求头
首先,创建一个RequestInterceptor接口的实现类。在该类中,重写apply方法,在该方法中添加需要的header请求头信息。然后,在Feign的配置类中将该RequestInterceptor添加到Feign的请求拦截器中。注解中使用configuration属性,引入配置类。通过这种方式,所有的Feign调用将自动带上你在。下面这种写法是简写,同时做了上面两件事情!中定义的header。
2024-10-11 01:46:02
920
原创 Kafka快速入门
消息队列(message queue)简称MQ,是一种以“先进先出”的数据结构为基础的消息服务器。消息:两个系统间要传输的数据作用:实现消息的传递原始的数据传递方式:传输效率较低。基于MQ实现消息的传输,如下图所示:上述的数据的传输方式属于异步传输【作为调用方法不用等待被调用方执行完毕就可以接续传递消息】,数据传输的效率较高。services:zookeeper:ports:volumes:services:定义 Docker Compose 文件中的服务。zookeeper。
2024-10-04 15:33:00
3175
3
原创 MySQL的乐观锁、悲观锁机制及实现
乐观锁是一种并发控制策略,它假设多个事务不会发生冲突,在执行操作时不加锁,非常乐观,只需每次进行提交时利用标识进行对比,确认其他事务没修改过便可提交。悲观锁认为每次操作都会发生冲突,非常悲观。它会在任何可能发生冲突的地方进行加锁,其他操作想修改都需要等它执行完后释放锁,再通过争抢到锁而进行操作。
2024-09-24 23:32:03
2145
3
原创 项目中负责均衡如何实现?
1.定义一个类实现IRule接口,再编写配置类指定负载均衡策略:使用Javaconfig将负载均衡策略对应的实现类对象注入到Ioc容器中。全局生效:比如在订单微服务中加了这下面代码,订单微服务中的所有的远程调用都使用这种负载均衡策略2.在yaml配置文件中配置:哪调用哪个服务的时候使用哪种负载均衡策略局部生效:这种方式指定哪调用哪个服务的时候使用哪种负载均衡策略。
2024-09-03 15:58:00
263
原创 什么是CAP理论和BASE思想?
分布式系统的三个指标:C(一致性)A(可用性)P(分区容错性)Eric Brewer说,分布式系统无法同时满足CAP三个指标,这个结论就叫做CAP定理。
2024-09-02 20:21:23
222
原创 SpringCloud中什么是服务雪崩,常见的解决方案有哪些?(面试版)
4. 服务熔断: 由断路器统计请求的异常比例或慢调用比例,如果超出阈值就会熔断该业务,拦截该接口的请求,在熔断期间,所有请求快速失败,全部走fallback逻辑;当服务恢复时,断路器会放行访问该服务的请求。雪崩:微服务调用链路中某个服务的故障,导致整个链路中的所有微服务都不可用。3. 编写服务降级:就是服务调用失败后的处理逻辑,根据业务场景,可以抛出异常,也可以返回友好提示或默认数据。1. 请求限流:限制访问 微服务请求(接口) 的并发量,避免服务因浏览激增出现故障。
2024-09-02 19:56:27
261
原创 Eureka和Nacos有哪些区别?(面试版)
Nacos支持服务端主动监测提供者状态:临时实例采用心跳模式,非临时实例采用主动监测模式(临时实例心跳不支持会剔除,非临时实例不会被提出)Eureka的心跳是30秒一次,Nacos则是5秒一次(心跳监测周期不一样)Eureka仅有注册中心功能,而Nacos同时支持注册中心、配置管理。Eureka和Nacos都支持集群,而且默认都是AP模式。Nacos还支持CP,而Eureka只支持AP。模式,服务列表更新更及时,eureka则没有。都支持服务提供者心跳方式做健康监测。都支持服务注册和发现功能。
2024-09-02 18:12:01
600
原创 服务注册和发现的基本流程是怎样的?(面试版)
服务治理中的三个角色分别是:服务提供者:提供接口供其它微服务访问服务调用者:调用其它微服务提供的接口注册中心:管理服务。
2024-09-02 17:22:39
437
原创 - SpringCloud有哪些常用组件?分别是什么作用(面试版)
注册中心Nacos、远程调用OpenFeign、负责均衡Ribbon、网关Gateway、服务保护sentinel。
2024-09-02 17:11:18
202
原创 SpringBoot的配置文件详解
(表示的意思是一样,只是例1:在application.properties中设置服务器的端口号和web应用的上下文(项目的根路径)例2: application.yml设置服务器的端口号和web应用的上下文(项目的根路径)
2024-09-02 16:43:25
1555
1
原创 WebSocket详解
WebSocket 是基于 TCP 的一种新的。它实现了浏览器与服务器全双工通信——完成一次握手,就可以创建持久性的连接, 并进行双向数据传输HTTP是WebSocket是HTTP通信是的,基于请求响应模式WebSocket支持通信HTTP和WebSocket底层都是TCP连接既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?服务器长期维护长连接需要一定的成本各个浏览器支持程度不一。
2024-09-02 15:44:35
1220
原创 RabbitMQ如果有100万消息堆积在MQ,如何解决(消息堆积如何解决)面试版
消息堆积:当超过了消息堆积会产生的问题:直到。之后发送的消息就会成为死信,可能会被丢弃。
2024-08-27 10:55:45
443
1
原创 RabbitMQ中的死信交换机?(RabbitMQ延迟队列有了解过吗)
延迟队列:进入队列的消息会被延迟消费的队列。延迟队列=死信交换机 + TTL(过期时间)延迟队列的使用场景:超时订单、限时优惠、定时发布。
2024-08-27 10:47:28
570
1
原创 Redis中的数据类型及应用场景(面试版)
字符串 string哈希 hash列表 list集合 set有序集合 sorted set / zset。
2024-08-26 23:23:06
353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人