- 博客(85)
- 收藏
- 关注
原创 JVM核心知识点(持续更新中)
JVM核心知识点常考面试题(持续更新中)JVM 结构JVM 结构https://www.processon.com/view/link/64eaf5bd8ae8db1df6e18f88
2024-03-04 11:09:47 129
原创 MySQL 核心知识点(持续更新中)
2、MySQL事务优化,参考文章:1、参考视屏:2、参考文章:参考文章:1、索引优化,参考视屏【P9-P16】:2、执行计划,参考文章:3、
2024-03-04 10:57:25 217
原创 Java核心知识点(持续更新中)
可以设置许可的个数,表示同时允许最多多少个线程使用改信号量,通过 acquire() 来获取许可,如果没有许可可用则线程阻塞,并通过 AQS 来排队,可以通过 release() 方法来释放许可,当某个线程释放了许可后,会从 AQS 中正在排队的第一个线程开始一次唤醒,直到没有空闲许可。yield 方法执行后线程直接进入就绪态,马上释放CPU的执行权,但是依然保留了CPU的执行资格,所以有可能CPU下次进行线程调度时,还会让这个线程获取到执行权继续执行。但是 wait 会释放,而且会加入到等待队列中。
2024-02-26 21:55:49 1026
原创 MySQL执行过程与bufferPool缓存机制
因为redo是按顺序写,不会删除;磁盘的顺序IO和内存操作性能相媲美,随机读写,相当低;写redo日志是顺序io,写磁盘是随机io;
2023-07-19 02:04:26 298
原创 MySQL事务与事务的隔离级别
事务是指一组SQL语句的集合,集合中有多条SQL语句,可以是insert、update、select、delete,希望这些SQL语句执行是一致的,作为一个整体执行。:对于两个事务T1,T2,T1从一个表中读取了一个字段,T2修改该字段并提交后,T1仍然读取到的是上第一次读取的值。:在事务并发执行时,他们内部的操作互补干扰(指的是互不影响执行,事务执行后,数据的结果取决于事务的隔离级别)。:当前事务的操作要么同时成功,要么同时失败。,数据库规定了多种事务的隔离级别,不同隔离级别对应不同的干扰程度,
2023-07-19 01:38:29 7626
原创 Springboot整合Redis集群实战详解
针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redis也会效率下降的问题。redis3.0版本正式推出后,有效地解决了Redis分布式方面的需求,当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方法达到负载均衡的目的。Redis集群的节点,通常是三个master以上节点,每个master节点至少有一个slave节点。通过关闭某个集群节点的master节点,slave节点会切换成master代替故障节点完成其工作。..................
2022-07-29 17:16:32 16943 1
原创 Java内存模型(JMM)
1、缓存一致性:线程操作的工作内存和主内存(或共享内存)的值不一致。2、处理器优化:指为了处理器内部能够充分的利用运算单元,可能会对程序代码乱序执行。3、指令重排序:指处理器( Java 是即时编译器)可能对程序代码优化乱序处理。1、可见性:指多个。2、有序性:指程序的。3、原子性:指的是在一个操作中 CPU 不可以在中途暂停然后再调度,。.....................
2022-06-15 10:55:58 7456
原创 Springboot多数据源配置详解
Springboot多数据源配置详解概念配置多数据源使用概念一般来说,我们正常的业务只涉及一个数据源,在特定的业务场景中需要使用多个数据源的情况,就需要配置多个数据源来满足特定的业务需求。本文介绍的是:springboot 整合 dynamic-datasource 来实现多数据源的配置使用。注意:此处可以整合多种不同类型的数据库。配置1、引入 pom 依赖(主要依赖)<dependency> <groupId>com.baomidou</groupId>
2022-05-10 11:29:56 20011
原创 Java实现RSA加密、解密、签名、验签原理
Java实现RSA加密、解密、签名、验签原理转载(好文):https://www.cnblogs.com/pcheng/p/9629621.html
2022-04-08 09:27:07 7674
原创 Intellij IDEA配置备份方式
备份:将改文件夹全部复制并备份:C:\Users\username\.IntelliJIdea2019.1恢复:新安装程序完成后,提醒是否导入配置,可以手动选择,当然,你也可以安装前直接将此文件放到默认目录。
2022-04-01 10:17:51 8725
原创 RabbitMQ 详解
RabbitMQ 详解消息队列一、MQ 的相关概念二、RabbitMQ 的概念消息队列一、MQ 的相关概念1、什么是 MQ ?MQ(Message Queue),从字面意思上看,本质是个队列,FIFO先进先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游 逻辑解耦 + 物理解耦 的消息通信服务。使用了 MQ 之后,消息发送上游只需依赖 MQ,不用依赖其他的服务。2、为什么要使用 MQ ?MQ的三大作用。
2022-01-14 01:51:16 9562
原创 Linux环境下安装RabbitMQ及Erlang环境
Linux环境下安装 RabbitMQ 及 Erlang 环境准备工作安装 Erlang一、解压安装指令安装安装 RabbitMQ安装 RabbitMQ 界面管理插件创建用户准备工作注意:Erlang 与 RabbitMQ 对应版本兼容问题。https://www.rabbitmq.com/download.html1、Erlang 安装包或安装文件(本文使用的是 .tar.gz 安装包),rabbit 的运行环境依赖 erlang。2、rabbitMQ 安装包或安装文件安装 Erlang一
2021-12-26 14:15:50 9310
原创 Springboot + Quartz 实现分布式定时任务集群
一、什么是 Quartz?如果仅仅只是使用定时任务,可以使用 spring 的schedule 实现,方便、代码量少、易于实现。但是当使用分布式进行部署的时候,就会出现所有的服务器都在跑同一个定时任务,出现一个定时任务被执行多次的情况。那么最好的方式是使用 quartz 进行定时任务的调度。即:quartz 是一个为了解决分布式定时任务的导致任务重复调度的框架。效果就是,起多个工程,同一个定时任务只会在一个工程上跑。
2021-12-12 20:15:06 13544
原创 Seata分布式事务框架(1.4.2版)
Seata 分布式事务框架及解决方案Seata 概念Seata 简介Seata 集群高可用部署seata-server 的安装配置seata 启动分布式业务实现订单 / 库存 / 账户 业务 `数据库及表` 准备订单 / 库存 / 账户 业务 `微服务` 准备订单模块(order-moudule)库存模块(storage-moudule)账户模块(account-moudule)Seata分布式事务原理简介TC/TM/RM三大组件,分布式事务的执行流程AT 模式如何做到对业务的无侵入一阶段加载二阶段提交二阶
2021-12-07 22:43:22 10014 6
原创 基于Java的Stream流实现对某些列的求和(适用于财务计算)
Java 的 Stream 流实现报表(一页)纵向 求和 工具类import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.math.BigDecimal;import java.util.*;public class PageSumUtils{ /** * data:JSONArray 或
2021-12-01 10:29:16 7707
原创 Sentinel 实现服务降级、熔断与限流(1.8.+ 版)
Sentinel 实现熔断与限流Sentinel 概念Sentinel 概念1、Sentinel 是什么?Sentinel: 分布式系统的流量防卫兵。随着微服务的流行,服务与服务之间的稳定性变得越来越重要,Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。...
2021-11-26 15:33:38 14093
原创 Sentinel规则持久化(1.8.+版)
Sentinel 整合 Nacos 实现持久化配置详解Sentinel 规则持久化配置步骤(流控规则为例):Sentinel 规则持久化yml 配置详解json 参数详解流控规则降级规则热点规则系统规则授权规则Sentinel规则持久化配置(官网说明)一、概念当应用重启后,Sentinel 规则就消失了,生产环境需要将配置的规则进行持久化。二、如何持久化?将限流、熔断配置规则持久化进 Nacos 保存,只要刷新被监控的应用(8401为例)某个 REST 地址,Sentinel 控制台的流控规则
2021-11-26 15:31:35 12661 1
原创 @SentinelResource 注解详解
@SentinelResource 注解详解引入 pom 依赖@SentinelResource 注解引入 pom 依赖官网说明:Sentinel 提供了 @SentinelResource 注解用于定义资源,并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。使用 Sentinel Annotation AspectJ Extension 的时候需要引入以下依赖:<dependency> <groupId>com.alibaba
2021-11-24 12:19:26 8216
原创 ORA-02287:此处不允许序号
ORA-02287:此处不允许序号出现这类问题表示的是在 Oracle 中允许使用序列号,原因如下:Restrictions on Sequence Values You cannot use CURRVAL and NEXTVAL in the following constructs:1、A subquery in a DELETE, SELECT, or UPDATE statement2、A query of a view or of a materialized view3、A SEL
2021-11-19 11:15:37 17444 4
原创 MM脑图工具分享
MM脑图工具分享资源地址:链接:https://pan.baidu.com/s/1gpDkRD7PItKo9YOXxDqbBQ提取码:3onb
2021-11-17 14:32:43 7629
原创 Nacos 集群与持久化配置(2.0.+ 版)
SpringCloud Alibaba Nacos的安装运行与集群部署Nacos 独立版(单机版)Nacos 集群版Nacos 独立版(单机版)1、Nacos 的下载地址:https://nacos.io/zh-cn/2、Nacos Server 需要 Java 8 的运行环境。自行安装。(Linux环境下安装 JDK8)3、解压 Nacos 的安装包,直接运行 bin 目录下的 startup.cmd 或 linux 的 startup.sh。如果报错,也可以修改设置成独立模式(即单机版):修改
2021-11-14 21:54:04 11254 2
原创 Linux 环境下maven安装配置
Linux 环境下安装配置 Maven1、官网下载wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz2、解压tar -zxvf apache-maven-3.6.1-bin.tar.gz3、配置 maven 环境变量:vi /etc/profile,如下图所示:4、保存后执行:source /etc/profile5、输入命令:mvn -v,出现如下
2021-11-14 16:25:24 8882
原创 Nacos分布式配置中心
SpringCloud Alibaba Nacos服务配置中心SpringCloud Alibaba Nacos 概念SpringCloud Alibaba Nacos 概念1、Nacos 作为服务注册中心及概念:https://blog.csdn.net/qq_36763419/article/details/1211677102、 Spring Cloud Alibaba Nacos Config 官方文档:https://spring-cloud-alibaba-group.github.io
2021-11-10 17:10:39 9539
原创 Nacos 服务注册中心
SpringCloud Alibaba Nacos服务注册与发现和配置中心SpringCloud Alibaba Nacos概念Nacos 的安装与运行SpringCloud Alibaba Nacos概念1、Nacos 的缩写 (Dynamic Naming Configueration Service),Na 为 naming/nameServer 即注册中心,co 为 configuration 即配置中心,service 是指该注册/配置中心都是以服务为核心。2、Nacos 是什么?【Nac
2021-11-07 09:53:40 11597
原创 SpringCloud Alibaba 详解
SpringCloud Alibaba 基础详解SpringCloud Alibaba 概念SpringCloud Alibaba配置及使用SpringCloud Alibaba Nacos服务注册与发现SpringCloud Alibaba 概念1、为什么会出现 SpringCloud Alibaba?SpringCloud Netflix 项目进入了维护模式。意味着 SpringCloud Netflix 将不再开发新的组件。维护中的组件将通过平行组件所替代。SpringCloud aliba
2021-11-05 12:22:19 23163
原创 SpringCloud Sleuth 分布式请求链路追踪
SpringCloud Sleuth 分布式请求链路追踪SpringCloud Sleuth 概念搭建分布式请求链路SpringCloud Sleuth 概念1、为什么要使用SpringCloud Sleuth?当前面临什么问题?在微服务框架中,一个客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。Spring Cloud Sleuth为Spring Clou
2021-11-03 17:46:01 7726
原创 SpringCloud Stream消息驱动
SpringCloud Stream消息驱动SpringCloud Stream概念SpringCloud Stream概念一、为什么要引入SpringCloud Stream? 面临什么问题?简单的,我们可以系统分为三部分:前端 》》》 后端 》》》 大数据平台。当后端系统产生大量数据,而大数据平台需要通过这些数据进行分析时(例如:抖音视频推荐、广告推荐等)。这些数据需要通过消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)推送到大数据平台,当推送方和订阅方采用不同消息
2021-10-31 12:13:49 8639
原创 SpringCloud 微服务架构(基础详解)
SpringCloud微服务架构微服务架构的概念SpringCloud微服务更新SpringCloud微服务架构项目搭建注意事项RestTemplate微服务注册中心Eureka(停更)ZookeeperConsulNacos微服务架构的概念微服务架构是一种架构模式,它提倡将单一的应用程序划分成一组小的服务,服务之间互相协调、互相融合,为用户提供最终价值,每个服务在其独立的进程中,服务与服务间采用轻量级通信机制互相协作(通常是基于HTTP协议的Restful API)。每个服务都围绕着具体业务进行构建
2021-10-25 01:24:25 13843
原创 SpringCloud Bus+RabbitMQ+Config实现分布式配置中心消息广播
SpringCloud Bus消息总线SpringCloud Bus消息总线概述SpringCloud Bus消息总线概述1、SpringCloud Config实现自动刷新配置(分布式自动刷新配置功能):SpringCloud Bus 配合 SpringCloud Config 使用可以实现配置的动态刷新。2、SpringCloud Bus 概念:SpringCloud Bus 将分布式系统的节点与轻量级消息代理连接起来的消息总线。Bus 总线支持两种消息代理:RabbitMQ 和 Kafka。
2021-10-25 01:12:55 7932
原创 Windows下安装RabbitMQ消息队列
Windows下安装RabbitMQ消息队列1、安装 Erlang,因为RabbitMQ服务器是用 Erlang 语言编写的。所以 RabbitMQ 的运行需要有 Erlang 环境的支持。自行安装并配置环境变量。2、安装 RabbitMQ。自行安装。3、进入 RabbitMQ 安装目录下的 sbin 目录。4、输入以下命令启动管理功能:rabbitmq-plugins enable rabbitmq_management 可视化插件。(1)安装好后可以看到以下 RabbitMQ 的启动、关闭的
2021-10-24 15:18:20 7542
原创 Config分布式配置中心
SpringCloud Config分布式配置中心分布式配置中心概述分布式配置中心概述1、分布式系统面临的配置问题?微服务意味着要将单体应用中心的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设置是必不可少的。SpringCloud 提供了 ConfigServer来解决这个问题。2、SpringCloud Config原理图SpringCloud Config为微服务架构中的微服务提供集
2021-10-19 18:00:04 7672
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人