自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring相关

spring相关

2025-10-20 00:24:04 316

原创 多线程相关

修饰的state变量来同步状态,和一个先进先出的线程等待队列(双向),在多个线程竞争共享资源时,aqs会将未获得资源的线程放入等待队列中,等资源空闲时会从队列中唤醒对应线程。AbstractQuenedSynchronizer,是java并发包里的一个抽象同步框架,维护了一个由volatile。aqs是不管加不加锁的,它只是处理线程排队的细节,锁逻辑是交给实现类自己决定的。

2025-10-19 00:40:16 105

原创 I/O流相关

i/o

2025-10-17 20:07:53 406

原创 java集合相关

记录集合相关

2025-10-16 22:50:50 244

原创 MyBatis-plus

MyBatis-plus相关

2025-07-16 22:56:24 394

原创 软件安装使用

VS安装,Windows11 Docker Desktop安装

2025-02-25 10:53:12 155

原创 集成or使用

xxl-job的使用历程

2025-01-15 10:50:41 499

原创 常用关键字

常用关键字transient,static的理解

2025-01-08 11:43:56 194

原创 日常工作常用命令集合

日常工作常用命令集合

2025-01-02 14:22:04 355

原创 奇安信代码修复建议

奇安信代码扫描漏洞修复

2024-11-26 16:29:42 1573 5

原创 日常开发报错

日常报错处理,报错了都放这

2024-11-25 17:14:48 1590

原创 一个获取时间范围的工具类

本周的开始时间->结束时间。本月的开始时间->结束时间。本季的开始时间->结束时间。本年的开始时间->结束时间。包括: 当日的开始时间->结束时间。

2024-11-18 14:31:16 259

原创 常用 lambda表达式 及 方法引用

定义:对 调用函数式接口 简化的操作作用:减少冗余代码,简化内部类的形参和方法体语法:函数式接口 变量名 = (形参) -> { 方法体 }

2024-09-03 10:33:03 541

原创 Mysql为什么使用B+Tree作为索引结构

B树是一种自平衡的多路搜索树数据结构,可以存储大量数据。多路树表示每一个节点可能会有许多的子节点,因此,它的整个高度会相比二叉树来说,会矮很多。B+ 树是 B 树的一种变种,其所有的键值对都保存在叶子节点中,并且叶子节点之间通过链表相连。这使得 B+ 树非常适合范围查询和顺序访问。

2024-08-03 15:14:02 275

原创 MySQL中的InnoDB 与MyISAM 的区别

MyISAM引擎的数据是通过二进制的方式存储在磁盘上,它在磁盘上体现为两个文件——.MYD文件和.MYI文件,D代表Data,是MyISAM的数据文件,存放数据记录,I代表Index,是MyISAM的索引文件。MyISAM索引和数据是分离的,所以在进行查找的时候,先从索引文件中找到数据的磁盘位置,再到数据文件中找到索引对应的数据内容。在B+树的叶子节点里面存储了索引对应的数据,在通过索引进行检索的时候,命中叶子节点,就可以直接从叶子节点中取出行数据。MyISAM不支持外键;InnoDB支持外键。

2024-08-01 16:16:43 257

原创 什么是过滤器?为什么要使用过滤器?

用于对请求和响应进行预处理和后处理的组件。响应前处理:在请求到达目标资源之前执行。响应后处理:在响应离开目标资源之后执行。

2024-08-01 14:28:11 413

原创 数据库分库分表设计

当数据量很大的时候,分库分表策略可以减少单个服务器的压力,提高查询性能,并提高扩展性,随时可以添加新的数据库来处理更多的请求,甚至做到业务分离,将不同的业务逻辑和数据存储分离,使得每个数据存储集群或者数据表专注于特定的功能,遵循单一责任原则。此时,就需要考虑分表了,将数据拆分到多张表中来减少单表存储的数据量,从而提升读写的效率。结合前面的两种情况,如果同时满足前面的两个条件,也就是数据连接也不够用,并且单表的数据量也很大,从而导致数据库读写速度变慢的情况,这个时候就要考虑既分库又分表。

2024-07-31 20:28:02 788

原创 MySQL的性能优化

CPU、可用内存大小、磁盘读写速度、网络带宽等因素都会影响MySQL的性能,选择合适的设备搭建,对MySQL的性能提升也会起到不小的作用。

2024-07-30 20:41:25 408

原创 MySQL中的死锁

请求保持(在获取其他资源之前,不会释放自己占有的资源)、循环等待(线程1在等待资源B的同时线程2在等待资源A)、不可抢占(线程1不可抢占线程2占有的资源A),互斥(资源A或者资源B都同一时间只能被一个线程获取)3.修改代码去破坏这四个条件里面的任意一个,就可以解决死锁问题。2.从日志里面定位到具体死锁的程序代码。1.使用jstack命令。导出线程的dump日志。(互斥条件不可修改)

2024-07-30 17:31:53 268

原创 MySQL索引

1.InnoDB引擎里面有两种索引类型,一种是主键索引、一种是普通索引mysql默认存储引擎是InnoDB,支持事务处理、外键约束和崩溃恢复。它具有高可靠性和高性能,是处理大型数据集和并发操作的首选引擎。1.InnoDB引擎里面有两种索引类型,一种是主键索引、一种是普通索引。

2024-07-27 19:26:41 1048

原创 开发中常见的数据安全问题

当用户在浏览器中保持登录状态时,浏览器会自动发送包含用户身份信息的cookie,这使得攻击者可以伪造包含用户身份信息的请求。解决:使用加密算法对敏感数据进行加密,确保数据在传输和存储过程中的安全性;解决:对用户输入进行合适的转义和过滤,使用HTML转义字符替换特殊字符,避免直接将用户输入插入到HTML中。选择可信赖的第三方库,避免使用已经废弃或者不再维护的库。对上传的文件进行严格的验证和过滤,确保其不包含恶意代码。将恶意脚本注入到网页中,使用户浏览器执行,从而窃取用户的会话信息或者篡改页面内容。

2024-04-11 20:50:59 673 1

原创 java中的基础

java中的基础

2024-02-22 15:10:19 536 2

原创 redis

个人在线笔记

2024-01-25 16:05:48 442 1

空空如也

空空如也

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

TA关注的人

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