自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring中的循环依赖问题及解决方案

一、循环依赖的概念1.概念循环依赖是指两个或多个Bean相互依赖,形成一个闭环。例如,Bean A 依赖于 Bean B,而 Bean B 又依赖于 Bean A。又或者 Bean A 依赖于 Bean B,而 Bean B 又依赖于 Bean C,Bean A 依赖于 Bean A。循环依赖一般由构造器注入或Setter注入造成。2.举例例:由构造器注入的循环依赖2.1Java代码2.2XML配置二、解决方案。

2024-08-23 20:00:29 558

原创 Redis的简单说明

Redis是一款高性能的NOSQL系列的非关系型数据库,同时也是一个使用C语言开发的一个开源的高性能键值对(key-value)数据库,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求。Redis支持的键值数据类型:String(字符串类型)、hash(哈希类型)、list(列表类型)、set(集合类型)、sortedset(有序集合类型)

2024-08-09 16:44:01 781

原创 项目中实现文件的阿里云OSS存储

三、在.yml文件中配置阿里云的id、密钥、Bucket名、endpoint。2.2创建AliOssProperties类(工具类中的四个属性)以上的内容是我截取的来自项目中实现阿里云OSS存储部分!以下截取的是我在项目中的依赖导入。四、创建阿里云OSS对应的配置类。这里直接以修改登录人员的头像为例。五、创建Controller层。以上的后端部分代码来自。

2024-08-02 20:15:49 627

原创 Java+vue实现数据导出为excel表格(EasyExcel)

注意:实体类中涉及到的状态如果是用Integer类型的的数字表示,那么需要用到转换器来转换在这里我的状态是用0表示为"待维修"状态。以上代码是我在一个完整的项目中截取的只涉及到数据导出为excel表格的功能!虽然在我的项目上实现了,但是可能还存在不完善的地方,各位使用时请注意!注意:methods中的接口路径要和后端Controller层一致。2.转换器(可在实体类的@ExcelProperty注解中使用)@ExcelIgnore:忽略不需要的字段(不会再表格中显示)3.Controller层。

2024-07-26 19:35:51 748

原创 Java学习---类加载器&反射

如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式.是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;将类的二进制数据流中的符号引用替换为直接引用(本类中如果用到了其他类,此时就需要找到对应的类)

2024-03-17 13:55:14 1006 1

原创 Java学习---集合框架(三)

(1)创建一个TreeMap集合,键是学生对象(Student),值是籍贯(String),学生属性姓名和年龄,按照年龄进行排序并遍历。(1)创建一个HashMap集合,键是学生对象(Student),值是居住地 (String)。存储多个元素,并遍历。(3)依赖自然排序或者比较器排序,对键进行排序(默认按照从小到大进行排序,也可以自己规定键的排序规则)(2)要求保证键的唯一性:如果学生对象的成员变量值相同,我们就认为是同一个对象。(2)HashMap是Map的实现类,继承使用Map里的方法,无额外方法。

2024-03-08 20:12:22 963 1

原创 Java学习---集合框架(二)

Hash值&数组长度--->定位元素位置(就是下方哈希表图的int index = (数组长度-1) & 哈希值,也有说法认为这种是正确的,取余操作是错误的。HashSet是一个具体的实现类,HashSet实现以上特点的方式和HashSet的底层数据结构有关。HashSet会有去重作用(依赖equals和hashCode方法),也就是说,在散列表的基础上,会去掉重复元素(上面图中的“1”只存1个)。用TreeSet集合存储自定义对象,带参构造方法使用的是比较器排序对元素进行排序的。

2024-03-03 14:30:50 874

原创 ConcurrentHashMap简单阐述

(1)扩容条件,触发扩容有两种方式,第一种,ConcurrentHashMap中元素个数>=阈值,且当前Node[i]桶不为nul,且Node数组长度=8,且Node数组长度>=64时,由链表转换成红黑树结构,如果当前桶内元素结构为红黑树,则桶内元素个数

2024-02-25 19:00:38 454

原创 Java学习---树的简单介绍

本文将介绍集合框架中单列集合的子类TreeSet的底层结构---红黑树。介绍这个知识点,能够更好的帮助我们去学习TreeSet集合。当然,在介绍红黑树之前,我也会将数据结构中的树先做说明。介绍完本文后,在下一章将正式介绍单列集合的Set集合。

2024-01-28 18:26:20 1023

原创 Java学习---集合框架(一)

Collection集合是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素;JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现。一般使用多态的方式创建Collection集合的对象,具体实现类ArrayList。(1)迭代器是集合的专用遍历方式(2)Iterator<E> iterator(): 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到(3)Iterator中的常用方法。

2024-01-21 16:17:01 935

原创 Java学习---异常

try 中遇到了问题会直接跳转到对应的catch语句中,try下面的代码就不会再执行了 当catch里面的语句全部执行完毕,表示整个体系全部执行完全,继续执行下面的代码。控制台在打印异常信息时,会打印异常类名,异常出现的原因,异常出现的位置。我们调bug时,可以根据提示,找到异常出现的位置,分析原因,修改异常代码。当程序员在编写代码时,编译时出现的报错或者运行时出现的报错,都可以叫做异常。(1)把异常的名称,错误原因及异常出现的位置等信息输出在了控制台。(3)出现的问题没有被捕获,程序会出现的情况。

2024-01-14 15:25:25 889 1

原创 Java学习---常用API

String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例,也就是说Java 程序中所有的双引号字符串,都是 String 类的对象。在Java中,API指的是JDK中为开发人员提供的各种功能的Java类,这些类将底层实现全部封装了起来,我们不需要知道这些类的实现方式,只需要学会使用这些类即可(可通过API帮助文档学习)。若是通过直接赋值的方式创建了两个一样的字符串,那么该字符串会在常量池中被创建,且只会创建一次,两个变量共享该字符串。③查看类的说明(仅截取了部分)

2024-01-07 18:18:48 504 1

原创 面向对象(学习二)

在Java中,一个没有方法体的方法被定义为抽象方法,若类中有抽象方法,那么该类就必须被定义为抽象类!当两个默认方法或者静态方法中包含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是不需要让别人使用的,因此需用私有给隐藏起来,这时候就需要用到。(6)接口和类是实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口;接口和接口是继承关系,可以单继承,也可 以多继承。说明:子类继承抽象父类,父类有抽象方法和非抽象方法,此时子类必须重写父类中抽象的方法!

2024-01-01 15:39:17 383

原创 面向对象----三大特征

特点: 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,需提供相应的操作。继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法。①定义方法参数时,使用父类型作为形参,在调用方法时,使用具体的子类型作为实参。(1)继承可以产生子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。

2023-12-24 14:23:15 358

原创 Java学习-------面向对象(学习一)

面向对象思想,它将所有预处理的问题抽象为对象,通过了解这些对象具有哪些相应的属性以及展示这些对象的行为,以解决这些对象面临的一些实际问题。不同于面向过程(以过程为中心,自己实现功能的每一步),面向对象是一种以对象为中心的编程思想,通过指挥对象实现具体的功能。类是对现实生活中一类具有共同属性和行为的事物的抽象,简单来说类就是同一类事物的统称,是对现实事物的一种描述。成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)。③定义类的成员方法(创建方法)

2023-12-17 22:42:42 438

原创 Java学习----方法

因为引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果。方法(method)即一个具有特殊功能的代码集,代码集则是由具有独立功能的代码块组成的一个整体。通过第(4)点,我们引入方法在栈区的调用过程,为了更直观的理解,我们通过一张图来看。因为每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失。注意:方法调用时,参数的数量与类型必须与方法定义中的设置相匹配。基本数据类型的参数,形式参数的改变,不影响实际参数。

2023-12-10 16:37:36 965

原创 Java学习---数组

也就是说,二维数组的本质还是一维数组,只不过数组中的元素不是具体的元素值,而是一个新的数组而已。数据类型[ ][ ] 变量名 = new 数据类型[][]{ {元素1, 元素2...} , {元素1, 元素2...};他的意思是,我们访问数组的元素时访问了一个不在数组索引范围内的元素。int[ ] arr = new int[3]-----------定义了一个长度为3的数组。通过以上的举例,我们引出访问数组的元素格式-------------数组名[索引]

2023-12-03 19:51:19 981

原创 初识Java

JRE(Java Runtime Environment):Java运行环境,包含了JVM和Java的核心类库(Java API)JDK(Java Development Kit ):用于编译和开发Java程序的工具,包含了JRE和开发工具包。*这里的/(除)和%(取余)较为特殊:两数相除,结果只取其商;(1)算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)(2)赋值运算符:=、+=、-=、/=、*=、%=(3)关系运算符:==、>、=、

2023-11-24 14:44:28 79 1

Java学习,API帮助文档

Java学习,API帮助文档

2024-01-07

空空如也

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

TA关注的人

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