自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis主从复制风暴

Redis主从复制过程中,由于一些原因导致从节点离线,当从节点重新连接到主节点时,主节点会把所有未同步的数据全部发送给从节点进行同步,这会导致从节点在短时间内大量处理数据,从而出现性能问题,甚至导致从节点宕机。造成Redis主从复制风暴的原因可能有多种,比如从节点宕机、网络故障、主从节点之间的延迟等。4. 对Redis配置进行优化,如合理设置最大可用内存、优化过期数据的删除策略,以减少Redis的负载。1. 设置合理的主从复制时间间隔,避免主节点因为等待从节点同步数据而出现阻塞。

2023-06-21 18:22:10 201

原创 Redis持久化

RDB策略、AOF策略。

2023-06-21 00:18:48 93

原创 Mysql高性能表结构及索引设计

第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、第五范式(完美范式)逐级包含,一级比一级严格,正常开发中满足前三个范式即可。

2023-06-19 18:15:15 112

原创 Mysql-MVCC机制

MVCC机制使用了版本号来标识每一个事务的时间戳,不同的事务之间通过比较版本号来进行并发控制。读事务只能读取早于自己时间戳的数据,而写事务则会加锁,防止其他事务读取或修改该数据行。对于长事务,MySQL通过Purge机制清理已经被删除的数据版本,防止无限制的版本积压导致数据库空间不足。它主要通过保存旧版本的数据来实现并发控制。MVCC机制使得不同的事务可以同时读取同一数据行的不同版本,从而提高数据库的并发性能。总体来说,MVCC机制提高了数据库的并发性能,减少了事务之间的阻塞,但也会增加存储空间的需求。

2023-06-19 16:21:41 117

原创 Java对象是如何从新生代到老年代的

总之,Java对象在新生代和老年代之间的转移通常是由垃圾回收器自动进行的,在进行Minor GC时,存活时间较长的对象会被移动到老年代,在进行Major GC时,老年代中的对象会被标记和清理,不会占用过多的空间影响程序的性能和稳定性。并不是直接将ToSpace区的对象放入了老年代.如果对象被标记为垃圾,则直接回收.如果仍然存活,则会被移动到FromSpace区.多次GC后,如果该对象还存活,才会被放到老年代。经过多次Minor GC后,如果对象存活时间足够长,则会被移动到老年代中。

2023-06-18 01:14:40 753

原创 JVM类加载

步骤: 加载>验证>准备>解析>初始化>使用>卸载加载: 在硬盘上查找并通过io读入字节码文件,使用到类是才会加载.例如调用类的main方法,new对象等等.在加载阶段会在内存中生成一个代表这个类的java.lang.Class对象.作为方法区这个类的各种数据的访问入口验证: 校验字节码文件的正确性准备: 给类的静态变量分配内存,并赋予默认值解析: 将替换为,该阶段会把一些静态方法.替换为指向数据所存内存的指针或句柄等.这是所谓的过程,

2023-06-17 20:48:49 50

原创 新手搭建SpringCloud微服务笔记(五)-集成gateway

还有其他的一些配置,还没研究到,后续再更新到博客里面,今天只是简单集成使用。作为负载均衡,依赖中没有加入相关的组件,所以不可以进行正确的分发。如果请求报503 Service Unavailable。主打就是一个实用,空了再深究原因😄。因为Gateway底层使用了。引入这段pom就可以了.

2023-06-16 20:39:02 105

原创 新手搭建SpringCloud微服务笔记(四)-简单集成Swagger3

问题来了,我看网上各种博客这样那样的,归根结底最简单swagger3集成方式就是这样.但是,写好的接口看不到,在swagger页面上怎么都看不到.还要注意一点是,swagger3的请求地址变了127.0.0.1:端口/context-path/swagger-ui/这个ui的请求地址是127.0.0.1:端口/context-path/doc.html。为了方便调试,先搞个swagger进来再说.不然想调试好麻烦。第一个是必须要的依赖,第二个是swagger的一个ui的依赖。新增一个配置类.搞定。

2023-06-15 00:43:49 383

原创 新手搭建SpringCloud微服务笔记(三)-NACOS配置中心

具体的版本,根据SpringBoot、SpringCloud、SpringCloudAlibaba查看对应的版本.如果版本不一致的话,会有问题.这篇文和前面两篇版本不一样,这里我搭建的新的项目.这个是必须要加的配置,不然会读取不到配置文件.

2023-06-13 03:54:58 111

原创 SpringCloud-SpringBoot版本对照

【代码】SpringCloud-SpringBoot版本对照。

2023-06-12 21:14:28 240

原创 学习笔记-20230612-JAVA权限认证框架优缺点比较

总的来说,Shiro更加简单明了、功能完备、灵活、有良好的社区支持,适合小型和中型项目,而Spring Security具有更精细的URL级别权限控制和更细致的集成能力,适合大型企业级应用。1. 集成Spring框架:Spring Security与Spring框架深度集成,可以访问 Spring 框架的所有功能和集成整个 Spring 技术栈。2. 更细粒度的权限控制:Spring Security基于URL或对象级别的安全性控制,可以实现更细粒度的权限控制,提供比Shiro更严格的认证方式。

2023-06-12 16:04:44 323

原创 学习笔记-20230607-JVM垃圾回收算法

STW(Stop-the-World)是指垃圾回收器暂停整个应用程序的运行,将JVM内存冻结的一种状态,以便在内存管理系统中执行清理和维护。JAVA所有线程都停止执行,GC线程除外,native方法可以执行,但是不能与JVM交互.GC算法优化的重点就是减少STW,同时也是JVM调优的重点。

2023-06-09 15:32:51 127

原创 学习笔记-20230606-JAVA类加载

加载:把java字节码数据加载到JVM内存当中,并映射成JVM认购的数据结构。2、准备:创建类或者接口的静态变量,并赋初始值,半初始化状态。3、解析:把常量符号引用转为直接引用.即:将栈指针指向堆内存。双亲委派:向上委托查找,向下委托加载. 作用:保护java底层类。1、验证:检查加载到的字节信息是否符合JVM规范。每种类加载器都有自己的类加载目录。初始化:执行静态代码块,构造方法及静态变量等。类加载过程:加载->链接->初始化。

2023-06-07 19:28:00 55

原创 学习笔记-20230606-JavaGC如何判断对象可以被回收

可达性算法中的不可达对象并不是立即死亡的,对象拥有一次自我拯救的机会。中,创建的字符串对象实际上是存储在堆内存中的,而在虚拟机栈中,只是存储了一个指向该对象的引用(即变量`str`的值),而不是实际的对象本身。在 Java 中,方法区中常量引用的对象通常是指被 final 修饰的静态变量的值,也就是在编译期间确定的常量,被存储在常量池中,并在运行期间被直接引用。同样地,创建的数组对象实际上是存储在堆内存中的,而在虚拟机栈中,只是存储了一个指向该对象的引用(即变量`arr`的值),而不是实际的对象本身。

2023-06-06 23:51:40 740 1

原创 线程与线程池的优缺点比较

线程池通过管理线程的创建、重用和回收来提供更好的性能和资源管理。1、初始化开销:线程池本身的初始化可能需要一些开销,特别是在创建线程池时设置参数的过程中。2、复杂性增加:引入线程池会增加代码的复杂性,需要适当地管理线程池的生命周期和任务提交。1、资源管理:线程池可以管理线程的创建、重用和回收,从而减少了线程创建和销毁的开销。2、提高性能:通过重用线程,可以避免线程创建和销毁的开销,并提高系统的整体性能。3、控制并发度:线程池可以限制并发线程的数量,从而控制资源消耗和避免系统过载。

2023-06-03 00:58:27 867

原创 新手搭建SpringCloud微服务笔记(二)-集成NACOS服务注册

基础cloud工程集成NACOS服务中心

2022-09-27 14:09:00 124

原创 新手搭建SpringCloud微服务笔记(一)-SpringBoot+SpringCloud基本搭建

工作三年有接触过微服务的项目,但是因为种种原因浅尝辄止.换工作后,开始恶补这方面的知识.尝试着自己搭建一套简单的spring-cloud项目本着学习的想法,先搭一个基础工程,再一点点去学习细节。

2022-09-24 16:11:11 496 2

原创 正则校验表达式

1、只能输入中文和英文^[\u4e00-\u9fa5a-zA-Z-z]+$2、手机号校验^1[3|4|5|6|7|8|9][0-9]{9}$

2021-07-05 14:45:35 54

原创 vue-axios请求拦截

axios通过请求拦截可以用作全局请求统一处理import Vue from 'vue'import axios from 'axios'let baseURL='' //通用请求前缀,一般是写在配置文件里面的,这个是通过读取配置文件获取const service = axios.create({ baseURL: apiBaseUrl, // api base_url timeout: 50000 // 请求超时时间})// request interceptor.

2020-12-11 17:54:53 265

原创 nginx映射简单配置

server模块server{ listen 8000; root /www/wwwroot/jeecg-boot; index index.html;}这段代码不用包在任何代码里面,直接写在最外层就行.listen 表示需要监听的端口号root 表示需要映射的根目录.index 表示默认访问的页面server_name 表示需要映射的域名,不配置则表示不启用域名访问目标地址location = / { proxy_pass http://...

2020-12-05 21:13:36 731

空空如也

空空如也

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

TA关注的人

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