自定义博客皮肤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)
  • 收藏
  • 关注

原创 使用AOP+ExpiringMap+ConcurrentHashMap实现对接口访问次数的限制

ExpiringMap 是一个Java库中的数据结构,主要用于实现具有自动过期功能的Map(键值对集合)。在常规的基础上,ExpiringMap 提供了额外的功能,即它可以为存储在其中的键值对设置生命周期(TTL,Time to Live),一旦超过设定的生存时间,相应的键值对会自动从Map中移除。过期策略:允许为Map中的条目设置固定或可变的有效期。线程安全:确保在多线程环境下也能正确地进行读写操作。高性能与低开销:设计用于高效处理大量并发访问及条目的过期清理。零依赖。

2024-03-15 16:19:31 833

原创 Maven中的.lastUpdated文件和_remote.repositories文件

结论: 通过删除仓库中的_remote.repositories文件,解决由于更换仓库带来的jar包不兼容/重新下载问题_remote.repositories文件,标示该资源的来源,如果你有这个_remote.repositories,那就会在访问本地的同时,必须确保远程上有才行(这里的远程是setting文件中配置的镜像或远程仓库,用id来进行关联)。Maven中settings.xml配置文件解读注:setting不配置镜像或仓库时,会自动请求apache的Maven仓库。标签解读本地仓库的路径。

2024-03-05 16:57:01 2386

原创 IDEA中遇到“找不到符号时”的解决方法

在Java编译器中将模块的字节码与项目字节码版本统一。在项目结构中,将各个模板的源和依赖的版本统一。在项目结构中,将SDK与前面的版本进行统一。

2024-03-05 16:00:16 2157

原创 查看MySQL创建的数据库在电脑中的存储位置

按下回车键后,会要求输入密码。输入数据库账号对应的密码,如果密码正确,就能顺利进入MySQL命令行。其中,用户名是数据库的访问账号,-p表示需要输入密码才能连接数据库。通常ProgramData文件是被隐藏的。

2024-02-18 11:51:33 1697 1

原创 图书管理系统(不使用框架实现)

以及Java对象的映射并且使用通用化增删改方法。都放在util包下的Dbutils类中。注:反射实现数据库字段方法。

2023-08-22 19:39:12 99

原创 知识总结【不断补充】

注意:使用BeanUtils进行属性拷贝时,源对象和目标对象的属性名和类型需要匹配。此外,BeanUtils进行属性拷贝时是浅拷贝,即只拷贝属性值,不拷贝属性引用的对象。在上述示例中,我们创建了一个名为SourceObject的源对象和一个名为TargetObject的目标对象。通过设置源对象的属性值,并使用BeanUtils的copyProperties方法,将源对象的属性值拷贝到目标对象中。BeanUtils提供了一个方法copyProperties,能够方便地将一个对象的属性值拷贝到另一个对象中。

2023-08-19 10:20:17 147

原创 MySQL中的日志文件和主从复制

错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。该日志是默认开启的,默认存放目录 /var/log/,默认的日志文件名为 mysqld.log。

2023-08-06 15:58:43 155 1

原创 SQL中视图/存储过程/存储函数/触发器/锁

详细讲解了有关MySQL数据库中视图、存储过程、存储函数、触发器以及锁的具体使用方式及语法。

2023-08-05 11:40:10 734 1

原创 Java通配符详情

通配符的使用可以对泛型参数做出某些限制,使代码更安全,对于上边界和下边界限定的通配符总结如下:使用通配符对泛型参数做出限制,能是代码更加的安全。上下边界限定的通配符总结如下:使用 List

2023-08-04 17:34:54 318 1

原创 数据库存储引擎与索引

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。CREATE TABLE 表名(字段1 字段1类型 [ COMMENT 字段1注释 ] ,......字段n 字段n类型 [COMMENT 字段n注释 ]) ENGINE = INNODB [ COMMENT 表注释 ];

2023-07-31 20:58:47 130 1

原创 Java代码块与类加载

基本上代码块分为三种:静态(Static)代码块、构造(动态)代码块、普通(局部)代码块代码块执行顺序静态代码块——> 构造代码块 ——> 构造函数——> 普通代码块继承中代码块执行顺序:父类静态块——>子类静态块——>父类代码块——>父类构造器——>子类代码块——>子类构造器局部代码块:定义在方法内部的代码块。作用:会缩小变量的使用范围,提前释放局部变量,节省内存。代码块总结:测试案例:运行结果:听这名字就知道和构造方法离不开!没错,但是还是和构造方法有着本质区别,我们都知道,没个方法中都可以有很多

2023-07-31 19:03:02 197 1

原创 数据库中事务的四大特性和事务并发

就比如: 张三给李四转账1000块钱,张三银行账户的钱减少1000,而李四银行账户的钱要增加1000。这一组操作就必须在一个事务的范围内,要么都成功,要么都失败。正常情况: 转账这个操作, 需要分为以下这么三步来完成 , 三步完成之后, 张三减少1000, 而李四增加1000, 转账成功 :异常情况: 转账这个操作, 也是分为以下这么三步来完成 , 在执行第三步是报错了, 这样就导致张三减少1000块钱, 而李四的金额没变, 这样就造成了数据的不一致, 就出现问题了。

2023-07-26 20:25:41 108 1

原创 IDEA快捷键大全(史上最全)

生成System.out.println();输出到控制台语句并换行。生成System.out.printf("");输出一个格式化字符串到控制台。生成System.out.println("类名.方法名");输出当前 类和方法名 到控制台。生成System.out.println(所有方法参数名+值);输出当前 方法的参数名和值 到控制台。

2023-07-24 10:28:23 246

原创 MySQL数据类型

数值类型: 字符类型: 日期类型:

2023-07-22 14:17:44 28

原创 JDBC连接数据库(预防SQL注入)

SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。

2023-07-21 20:56:35 172 1

原创 杨辉三角(Java实现)

杨辉三角是一个数学上的三角形,它的每一行都是由二项式系数构成的。下面是一个简单的解释杨辉三角的过程:首先,第一行只有一个数1。接着,从第二行开始,每一行的两个端点都是1,中间的数是上一行两个相邻数的和。具体来说,第n行有n个数,第一个数和最后一个数都是1。中间的数可以通过上一行的数计算得到,即第n行第k个数等于第n-1行第k-1个数与第n-1行第k个数的和。

2023-07-19 08:08:18 579

原创 如何在Java中操作Redis

这是因为Redis的Key必须是字符串类型,而Java中的对象类型需要进行序列化才能转化为字符串类型。因此,RedisTemplate使用默认的StringRedisSerializer对Key进行序列化,将Java对象转化为字符串类型作为Redis的Key。如果需要自定义Key的序列化方式,可以通过RedisTemplate的setKeySerializer方法设置Key的序列化器。Redisson是一个基于Redis的Java客户端,它提供了许多方便的功能和API来使用Redis。

2023-05-12 11:28:53 2494

原创 Redis常用命令

Redis set是string类型的无序集合。

2023-05-11 15:58:36 44

原创 Redis客户端启动时遇到如下问题——Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。

错误原因:在没有开启服务端的前提下打开了客户端。然后再打开客户端,就不会报错了。

2023-05-11 10:07:06 437

原创 实体类开发中使用Lombok插件简化实体类书写

在上面的示例中,@Data注释自动生成了getter和setter方法,以及equals和hashCode方法。在代码中,您可以使用Lombok提供的注释来自动生成常见的Java代码,例如getter和setter方法,构造函数,equals和hashCode方法等。@Data:自动添加@Getter、@Setter、@EqualsAndHashCode、@ToString和@NoArgsConstructor注解。@Getter和@Setter:自动生成getter和setter方法。

2023-04-29 10:42:01 196 1

原创 Spring Boot配置POM文件时报错

1.可能是因为JDK版本太低,例如我所用的版本为JDK8,程序报错,可以将JDK版本修改为JDK17。使用版本为3.0.6时会报错,所以我将版本改为2.5.4,如下所示。2.可能是某个依赖的JDK版本太高,我们可以将该依赖的版本降低。至此程序可以正常运行。

2023-04-26 17:12:10 557 1

原创 IDEA中Java快捷方式

2.Alt+7 :打开一个窗口,能够看到类的所有信息。6.快捷添加异常处理等命令:Ctrl+Alt+T。1.查看方法的源码:选中方法,按下Ctrl+B。3.代码左移:选中代码按下Shift+Tab。7.IDEA代码自动补全:Alt+回车。5.代码格式化:Ctrl+Alt+L。4.代码右移:选中代码按下Tab。9.定位到某行某列:ctrl+G。8.整列编辑:Alt+鼠标左键。

2023-04-17 17:58:16 152 1

原创 Mybatis框架中在编写dao层代码时,方法下面报错Result type not match for select id=“findAll“ srcType: com.itheima.domain

问题原因:在多个module中定义了多个相同的类名,比如我的是定义了多个User类,导致MyBatisX不能精确识别到方法的返回值。2.不用管它,自动忽略,报红不会影响程序运行。

2023-04-17 15:16:10 1135

Java后端开发面试知识点

面试总结知识点

2024-02-18

JavaSE基础知识全集(思维导图版)

内容概要:主要包含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。 适合人群:0基础学习Java的开发者

2023-07-26

java基础入门笔记(MarkDown版)

java基础入门笔记(MarkDown版)

2023-04-17

空空如也

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

TA关注的人

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