- 博客(31)
- 收藏
- 关注
原创 aop的使用历程
有传统的定义方式,这里使用的是注解的方式自己声明一个注解,作用范围于方法将该注解作为切点定义切面,也就是写方法的实现逻辑,例如使用@AfterReturning,就是用来做接口正常使用的逻辑(就是不抛异常,如果注解自己将异常捕获处理了,该注解下的方法就是可以接收的),@AfterThrowing注解下的方法是用来做异常捕获使用的,例如方法将异常抛出,那么该注解下就是可以捕获的,当然逻辑中将异常错误直接处理了,这里将无法捕获,只可捕获抛出的异常完整的逻辑(切点-切面)@Aspect。
2025-01-21 14:36:44
209
原创 Plugin ‘org.apache.maven.plugins:maven-compiler-plugin:‘ not found报错
maven-compiler-plugin加载报错
2024-11-22 10:25:23
446
原创 Local changes were not restored.Before update your uncommitted changes were saved to shelf. Update i
git代码未提交,代码丢失找回
2024-11-18 15:27:25
627
原创 一个获取时间范围的工具类
本周的开始时间->结束时间。本月的开始时间->结束时间。本季的开始时间->结束时间。本年的开始时间->结束时间。包括: 当日的开始时间->结束时间。
2024-11-18 14:31:16
195
原创 常用 lambda表达式 及 方法引用
定义:对 调用函数式接口 简化的操作作用:减少冗余代码,简化内部类的形参和方法体语法:函数式接口 变量名 = (形参) -> { 方法体 }
2024-09-03 10:33:03
479
原创 项目报错信息
解决:把键盘函数加入方法中,mounted中写监听器,使用完处理掉监听器。原因:springboot项目启动命令过长。查找原因后问题:认为是钩子函数问题。原因:在跨源通信中验证信息的来源。场景:在俩监听函数中报错。
2024-08-14 15:48:15
428
原创 Mysql为什么使用B+Tree作为索引结构
B树是一种自平衡的多路搜索树数据结构,可以存储大量数据。多路树表示每一个节点可能会有许多的子节点,因此,它的整个高度会相比二叉树来说,会矮很多。B+ 树是 B 树的一种变种,其所有的键值对都保存在叶子节点中,并且叶子节点之间通过链表相连。这使得 B+ 树非常适合范围查询和顺序访问。
2024-08-03 15:14:02
233
原创 MySQL中的InnoDB 与MyISAM 的区别
MyISAM引擎的数据是通过二进制的方式存储在磁盘上,它在磁盘上体现为两个文件——.MYD文件和.MYI文件,D代表Data,是MyISAM的数据文件,存放数据记录,I代表Index,是MyISAM的索引文件。MyISAM索引和数据是分离的,所以在进行查找的时候,先从索引文件中找到数据的磁盘位置,再到数据文件中找到索引对应的数据内容。在B+树的叶子节点里面存储了索引对应的数据,在通过索引进行检索的时候,命中叶子节点,就可以直接从叶子节点中取出行数据。MyISAM不支持外键;InnoDB支持外键。
2024-08-01 16:16:43
216
原创 什么是过滤器?为什么要使用过滤器?
用于对请求和响应进行预处理和后处理的组件。响应前处理:在请求到达目标资源之前执行。响应后处理:在响应离开目标资源之后执行。
2024-08-01 14:28:11
327
原创 数据库分库分表设计
当数据量很大的时候,分库分表策略可以减少单个服务器的压力,提高查询性能,并提高扩展性,随时可以添加新的数据库来处理更多的请求,甚至做到业务分离,将不同的业务逻辑和数据存储分离,使得每个数据存储集群或者数据表专注于特定的功能,遵循单一责任原则。此时,就需要考虑分表了,将数据拆分到多张表中来减少单表存储的数据量,从而提升读写的效率。结合前面的两种情况,如果同时满足前面的两个条件,也就是数据连接也不够用,并且单表的数据量也很大,从而导致数据库读写速度变慢的情况,这个时候就要考虑既分库又分表。
2024-07-31 20:28:02
593
原创 MySQL的性能优化
CPU、可用内存大小、磁盘读写速度、网络带宽等因素都会影响MySQL的性能,选择合适的设备搭建,对MySQL的性能提升也会起到不小的作用。
2024-07-30 20:41:25
353
原创 MySQL中的死锁
请求保持(在获取其他资源之前,不会释放自己占有的资源)、循环等待(线程1在等待资源B的同时线程2在等待资源A)、不可抢占(线程1不可抢占线程2占有的资源A),互斥(资源A或者资源B都同一时间只能被一个线程获取)3.修改代码去破坏这四个条件里面的任意一个,就可以解决死锁问题。2.从日志里面定位到具体死锁的程序代码。1.使用jstack命令。导出线程的dump日志。(互斥条件不可修改)
2024-07-30 17:31:53
240
原创 线程安全的集合和hashMap
hashMap的put()方法包含了添加和修改这两个功能,这是因为调用put()方法时,首先要根据设定的key值来计算hash值,目的在于计算数组的下标(jdk1.8及之后,hashMap底层数据结构 = 数组 + 链表 + 红黑树),这里会有一个叫哈希冲突的,计算的hash值没有一致,表明没有产生哈希冲突,则表示该数组为空,此时,表示调用的put()方法为添加数据;若哈希冲突了,表示这个key已经存在,就对应位置,将对应的value覆盖,此时,表示调用的put()方法为修改数据。数组+链表+红黑树,
2024-07-30 17:01:14
1075
原创 MySQL索引
1.InnoDB引擎里面有两种索引类型,一种是主键索引、一种是普通索引mysql默认存储引擎是InnoDB,支持事务处理、外键约束和崩溃恢复。它具有高可靠性和高性能,是处理大型数据集和并发操作的首选引擎。1.InnoDB引擎里面有两种索引类型,一种是主键索引、一种是普通索引。
2024-07-27 19:26:41
881
原创 io流基础
用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取。通常处理文本数据,它支持写入及读取。BIO,NIO,AIO区别。Unicode 码元。数据进入内存的叫输入。
2024-07-27 16:36:51
185
原创 什么是jsp
JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态生成网页内容的功能。与Servlet相比,JSP更注重于页面的展示和交互,而Servlet则更多地处理业务逻辑和数据处理。在JSP中,开发者可以在HTML标记中使用特殊的标签和指令来插入Java代码片段,这些代码片段会在服务器端被执行,并在生成的HTML页面中展示出来。
2024-04-11 21:16:43
174
1
原创 开发中常见的数据安全问题
当用户在浏览器中保持登录状态时,浏览器会自动发送包含用户身份信息的cookie,这使得攻击者可以伪造包含用户身份信息的请求。解决:使用加密算法对敏感数据进行加密,确保数据在传输和存储过程中的安全性;解决:对用户输入进行合适的转义和过滤,使用HTML转义字符替换特殊字符,避免直接将用户输入插入到HTML中。选择可信赖的第三方库,避免使用已经废弃或者不再维护的库。对上传的文件进行严格的验证和过滤,确保其不包含恶意代码。将恶意脚本注入到网页中,使用户浏览器执行,从而窃取用户的会话信息或者篡改页面内容。
2024-04-11 20:50:59
627
1
原创 常见的状态码
在 OAuth2 认证流程中,当客户端尝试访问需要授权的资源时,服务器会返回 302 重定向到授权服务器的登录页面或授权页面。用户或搜索引擎访问一个URL时,服务器会响应一个302,响应中包含了新 URL,会自动重定向到新的URL中,但不会将旧的URL替换,而是会继续使用原始URL。禁止访问,服务器已经接收到请求,但拒绝执行(表示一个账户,输入正确的账户密码,验证成功后但是没有权限访问)无权限访问(表示一个账户,输入正确的账户密码,验证成功后可继续访问)临时重定向,被请求的资源临时移动到新的位置。
2024-02-23 09:50:35
136
1
原创 自我学习-笔记
语句中,并且附带一个语句块,表示这段语句最终一定会被执行,经常被用在需要释放资源的情况下。比较时,只要数值相等,结果就相等,因为包装类和基本数据类型比较时,会。线程不安全的,方法没有 synchronized 修饰,性能较高。Integer 对象,由于在堆中地址不同,所以永远不相等。对象相比较时,由于前者存放在堆中,后者存放在 Java。线程安全的,方法有 synchronized。对象比较时,如果两个变量的数值相等且在。声明的变量中直接存放数值,默认值未0。作为异常处理的一部分,它只能用在。
2024-02-22 15:10:19
486
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人