- 博客(19)
- 收藏
- 关注
原创 启动前端项目> easypan-front@0.0.0 dev> vite‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
1.看起来是因为项目没有正确安装依赖导致的问题。都尝试了之后应该问题就解决了。2.在项目根目录下安装依赖。5.然后再次启动项目。
2025-03-13 20:31:04
141
原创 AutoWried与Resource区别
但是Resource注解的不同之处是Resource注解默认会先按照byName来查找Bean,再按照byType 来查找,当然也可以自己设置,在使用byName时候会先按照名称来进行依赖注入,使用byType时候会先按照类型来依赖注入。在这个注解中,有一个required属性,默认值为true,表示必须实例化一个注入的Bean,如果找不到对应类型的Bean,在启动的时候就会报错。primary表示优先级,当存在多个相同类型的Bean时候,优先使用声明了primary注解的Bean。
2025-03-12 17:06:34
197
原创 Spring的事务隔离级别
Spring的事务隔离级别是指在并发环境下,事务之间相互隔离的程度。Spring框架支持多种事务隔离级别,可以根据具体的业务需求来选择合适的隔离级别。事务读取的数据是其他事务已经提交的数据,避免的脏读的问题,但可能出现不可重复读和幻读的问题。2.READ_UNCOMMITTED:最低的隔离级别,允许读取未提交的隔离级别。事务可以读取其他事务未提交的数据,可能会导致脏读、不可重复度和幻读的情况。事务期间,其他事务对数据的修改不可见,避免的脏读和不可重复读问题。但是会降低并发性能,因为事务需要串行执行。
2025-03-12 11:23:10
157
原创 redis 雪崩 击穿 穿透
数据库中不存在,缓存中也不存在,导致每次请求都会查询数据库,这时的用户很可能是攻击者,如发起id为-1的或者id特别大(不存在的数据),导致数据库压力特别大或者宕机。高并发时,当一个key(类似于爆款),在不停扛着大并发,当这个key在失效的瞬间,持续的大并发在击破缓存,直接请求数据库并设置到缓存中,导致性能下降。:缓存集中过期,或者缓存服务器宕机,导致大量请求访问数据库,造成服务器瞬间压力过大,宕机。2.宕机:redis高可用的部署,做好集群,哨兵模式。1.永不过期 2.加锁排队。
2025-03-10 19:09:56
141
原创 常用的存储引擎及其适用场景
由于其简单性和高性能,在某些应用场景中会得到广泛的应用,如读密集的应用。*适用于需要快速读写的临时数据集、缓存和临时表等场景。*适用于需要长期存储大量历史数据且不经常查询的场景。*适用于需要处理和导入/导出CSV格式数据的场景。*适用于大多数应用场景,尤其需要事务支持的应用。*称为HEAP,是将表存储在内存中的存储引擎。*是MySQL早期版本中常用的存储引擎。*将数据高效的进行压缩和存储的存储引擎。*将数据以纯文本格式存储的存储引擎。*mysql默认的事务性存储引擎。*具有较好的并发性能和数据完整性。
2025-03-10 14:16:32
141
原创 事务的四大特性:ACID
2.一致性:指事务开始之前和事务完成之后,数据应该是一致的。例如,张三和李四的钱加起来5000,中间不管进行多少次的转账操作,总量5000是不会变的,这就是事务的一致性。3.隔离性:当多个用户并发同时访问数据库时,比如操作同一张表的时候,数据库为每一个用户开启事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。4.持久性:持久性是指一个事务一旦被提交,那么对数据库中的数据的改变就是永久性的,即使是在数据库系统遭遇故障的情况下也不会丢失提交事务的操作。
2025-03-10 11:19:35
128
原创 数据库设计三范式
第二范式:建立在第一范式的基础上的,另外要求所有非主键字段完全依赖主键,不能产生部份依赖。第三范式:建立在第二范式基础上,非主键字段不能传递依赖于主键字段。第一范式:任何一张表都应该有主键,每个字段是原子性的不可再分。一对多,两张表,多的表加外键。
2025-03-10 11:04:01
115
原创 MySQL
当一张表没有主键索引时,默认会使用一个隐藏的内置的聚焦索引。这个聚焦索引是基于表的物理存储顺序构建的,通常是使用B+树来实现的。1.非叶子节点上可以存储更多的键值,阶数可以更大,更矮更胖,磁盘IO次数少,数据查询效率高。2.所有数据都是有序存储在叶子节点上,让范围查找,分组查找效率更高。3.数据页之间,数据记录之间采用链表链接,让升序降序更加方便操作。MySQL为什么选择B+树作为索引的数据结构,而不是B树?如果一张表没有主键索引 ,还会创建B+树吗?
2025-03-07 19:26:40
95
原创 一篇文章讲懂String StringBuilder StringBuffer的区别和联系
(String底层也是char[]数组,这两个的区别就是string底层的char[]被final和private修饰了,是不可变类,确保了线程安全。:java中的不可变类(因为String中的类被 final修饰,方法被final和private修饰),一旦字符串被创建之后,内容不可以改变,每次对字符串进行操作就必须创建新的String对象。,需要提供capacity参数来设置初始化数组大小,这样在预先已经知道字符大小的情况下就可以减少扩容的次数,有效的提升效率。使用情况:不频繁修改字符串的情况下。
2025-02-28 16:43:27
275
原创 java中的集合类
java中的集合类分为Collection接口和Map接口,Collection接口下的集合类中存储元素对象,而Map接口下的集合类中主要是存储key-value键值对。Vector,基于线程安全的动态数组,类似与ArrayList,但是开销较大。LinkedHashMap 基于哈希表,双向链表,维护插入顺序,不可以重复。LinkedHashMap 基于链表和哈希表,维护插入顺序,不允许键重复。HashMap 基于哈希表,键值对无序,不允许键重复。TreeMap 基于红黑树,键值对有序,不允许重复。
2025-02-28 10:36:59
140
原创 【无标题】Java:jackson处理LocalDateTime序列化的时候报错InvalidDefinitionException
类有公共的 getter 方法来访问其属性。Jackson 使用这些方法来序列化对象的状态。
2025-02-28 09:03:33
884
原创 HashMap原理
HashMap的键必须实现hashCode()方法和equals()方法,键通过hashCode()方法计算出元素应该在的位置。执行put操作时,当两个键的hashCode()计算出来的哈希值相等,而equals()方法返回false,这两个键将会视为不同的键,存储在同一个桶的不同位置。HashMap采用hashCode()方法计算出元素应该存放在数组中的哪个位置。从JDK1.8起,为了优化多个元素映射到同一个桶的性能,当链表的长度大于8的时候,链表会自动转化为红黑树,提高了查询效率。
2025-02-28 09:02:50
204
原创 解决Unrecognized option: -archetypeCatalog=internalError: Could not create the Java Virtual Machine.
今天刚开始创建项目的时候出现报错Unrecognized option: -archetypeCatalog=internal。:确保你使用的Java版本与你的应用程序或开发工具兼容。环境变量已正确设置,并且指向正确的Java安装目录。然后我将我的jdk的环境变量改了就好了。
2024-11-27 18:14:43
438
1
原创 Windows如何快速设置小鹤双拼
2.打开设置:时间和语言->语言和区域->选项->微软拼音->常规。1.首先打开Dos命令窗口,运行以下命令回车。
2024-07-13 12:17:51
667
原创 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist.
在使用Mybatis-plus和Mybatis时,开发者可能会遇到版本不兼容的问题,这会导致应用程序无法正确运行。这类问题通常表现为方法不存在的错误,例如本文案例中的org.apache.ibatis.session.Configuration.setArgNameBasedConstructorAutoMapping(Z)V方法不存在。通常,保持依赖项的最新版本有助于利用最新的功能和修复。解决这个问题有两种主要方法:降低Mybatis-plus的版本或升级Mybatis的版本。
2024-07-03 14:15:15
2621
原创 创建新项目时idea中没有对应的Java版本8
问题:idea2023版本创建springboot的过程中,选择java版本时发现没有java8版本,只有java17和java20我们只需要将服务器URL:改为start.aliyun.com即可。
2024-06-30 19:12:19
552
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人