Java
文章平均质量分 59
星域_03zhan
一起努力学习呀~
展开
-
如何遍历HashMap
遍历hashmap原创 2023-02-23 20:07:26 · 443 阅读 · 0 评论 -
排序算法-java实现
排序算法原创 2023-02-21 08:56:47 · 185 阅读 · 0 评论 -
AQS介绍
AQS原创 2022-11-08 17:06:01 · 313 阅读 · 0 评论 -
Java中Iterator和Iterable的区别
Iterator原创 2022-11-08 13:54:33 · 286 阅读 · 0 评论 -
常见的IO模型
IO模型原创 2022-11-01 16:04:44 · 69 阅读 · 0 评论 -
SQL优化
sql优化原创 2022-10-31 10:58:58 · 167 阅读 · 0 评论 -
创建线程池的方法
线程池原创 2022-10-29 19:17:00 · 1481 阅读 · 0 评论 -
ArrayList扩容机制
ArrayList扩容机制原创 2022-10-26 15:33:03 · 282 阅读 · 0 评论 -
list集合如何去重?
list集合去重的几种方法原创 2022-10-23 18:15:05 · 322 阅读 · 0 评论 -
HashMap中put流程(第一次put和第二次put)
HashMap详解原创 2022-10-23 11:08:28 · 1509 阅读 · 0 评论 -
RabbitMQ死信队列、延时队列、可靠传输、消息幂等性
RabbitMQ原创 2022-10-22 17:00:49 · 469 阅读 · 0 评论 -
分布式事务常见的几种实现方式
分布式事务的实现方式原创 2022-10-21 15:45:15 · 1904 阅读 · 0 评论 -
设计模式----单例模式(反射可以破坏单例模式)
单例模式原创 2022-07-23 14:29:24 · 399 阅读 · 0 评论 -
子类上加@Data,在打印信息时不会打印父类的属性
因为@Data在编译时会自动为实体类添加setter,getter,toString方法@Data的作用域仅限于当前类的属性,所以打印出来的只有子类的属性(真实返回数据时返回的是所有的属性,这个只是打印出来会有些问题)要想获取打印出来的数据有父类的信息,需要在子类上添加@ToString(callSuper = true)注解callSuper会把父类的属性作为一部分连同子类的属性一块生成toString...原创 2022-07-13 17:24:20 · 1316 阅读 · 0 评论 -
更新数据时,要更新的字段数据不能与数据库中其他记录下该字段数据相同的方法
更新时,数据无重复原创 2022-07-09 17:26:22 · 473 阅读 · 2 评论 -
- Bean method ‘redisConnectionFactory‘ in ‘JedisConnectionConfiguration‘ not loaded because @Conditi
碰见这个问题:是因为在使用redis时,没有导入这两个依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.0.0.RELEASE</version></dependency&g原创 2022-05-31 17:30:24 · 1754 阅读 · 0 评论 -
遇到Caused by: java.lang.NoSuchFieldError: COPY问题
我遇到这个问题是因为我发现在pom文件中导入重复冲突的jar包: <!--<dependency>--> <!--<groupId>org.springframework.data</groupId>--> <!--<artifactId>spring-data-redis</artifactId>--> <!--<version>2.6.2</version>原创 2022-05-31 17:26:33 · 1820 阅读 · 0 评论 -
设计模式总结
文章目录1.单例模式(重点):2.工厂方法模式(重点)3.抽象工厂模式(重点)3.代理模式(重点)1.单例模式(重点):该模式要求单例模式对象的类只能允许一个实例对象存在。思路: 单例模式要求类中要返回一个引用(同一个)和一个获得该实例的方法(静态方法)步骤:1.将类的构造方法定义为私有方法;2.在该类中提供一个静态方法;注意: 在多线程的情况下要小心使用。如果这个唯一实例还没被创建,有两个线程同时调用创建方法,就可能创建出两个实例,不符合实例唯一的原则。解决这个问题的方法是为指示类是否已经原创 2022-05-03 20:25:09 · 164 阅读 · 0 评论 -
Java线程
文章目录线程简介:核心概念:线程的创建方式:1.继承Thread类2.实现Runnable接口3.实现Callable接口(了解)静态代理方式:线程状态:1.线程停止:2.线程休眠-sleep3.线程礼让-yield4.线程的强制执行-join5.观测线程状态线程优先级守护线程:线程同步:死锁:Lock(锁):线程协作:线程简介:1.多任务:同一时间给多个程序运行处理数据2.多线程:从软件或硬件上实现多个线程并发执行的技术3.进程:执行程序的一次执行过程,一个进程可以有多个线程,是系统资源分配的单位原创 2022-04-27 23:04:11 · 640 阅读 · 0 评论 -
面试总结----Java线程
文章目录1、什么是进程?什么是线程?他们有什么区别?什么是进程?什么是线程?他们之间的关系、区别和优缺点?程序计数器为什么是私有的?虚拟机栈和本地方法栈为什么是私有的?简单了解堆和方法区2、为什么要使用多线程?3、使用多线程可能带来什么问题?怎么保证线程的安全?什么是线程死锁?如何避免死锁?产生死锁的四个条件:如何预防和避免死锁:1、什么是进程?什么是线程?他们有什么区别?什么是进程?进程就是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序就是从一个进程创建,运行到消亡原创 2022-04-27 22:35:13 · 664 阅读 · 0 评论 -
为什么Java集合长度是可变的?
集合主要有两大接口派生而来:Collection和Map.Collection接口有三个主要的子接口,分别是Set,List,Queue.List接口的实现类有ArrayList,LinkedList,Vector.List接口不能被构造,也就是不能创建实例对象。但是可以像下面那样为List接口创建一个指向自己的对象引用,而ArrayList实现类的实例对象在这里充当了指向这个List接口的对象引用,这也是多态的一种。List<Object> list=new ArrayList<原创 2022-04-26 14:19:55 · 763 阅读 · 0 评论 -
面试题总结-----Java基础知识
文章目录1、 java语言的特点?2、java与C++的区别?3、为什么java可以实现一次编写,到处运行?4、什么是JVM、JDK、JRE?5、字符型常量和字符串常量的区别?6、一个java文件中可以有多个类吗?7、为什么java中不使用全局变量?8、重载和重写的区别?9、java的数据类型有哪些?1、 java语言的特点?(1)简单易学;(2)面向对象(封装、继承、多态)(3)跨平台性(Java自带的虚拟机很好的实现了跨平台性)以前跨平台性是java的最大优势,但是随着虚拟技术的发展,通过do原创 2022-04-17 22:10:20 · 500 阅读 · 0 评论 -
Spring注入内部Bean
1.什么是内部Bean?我们将定义在< bean>下的< property>或< constructor-args>内部中的bean称为"内部bean".有两种方法可以注入内部bean:1.setter方法注入内部 bean2.构造函数方式注入内部beansetter方法注入内部bean要有无参构造和setter方法<bean id="user" class="itheima.domain.User"> <property原创 2022-04-10 21:41:42 · 1146 阅读 · 0 评论 -
Spring Bean的概念以及Bean属性注入
1.什么是Bean?由Spring IoC容器管理的对象称为Bean.原创 2022-04-09 19:47:27 · 4084 阅读 · 0 评论 -
Spring的概念、IoC容器详解
Spring是什么?Spring是JavaEE编程领域的一款轻量级的开源框架狭义上:Spring 指 Spring FrameWork , 通常称它为 Spring框架。它有两个核心部分:IoC 和 AOPIOC: Inverse of Control (控制反转),是面向对象编程的一种设计原则,可以用来减少计算机代码之间的耦合度。它是一个生产和管理bean的容器。原来需要调用类中new的东西,现在都是通过容器生成。同时,要是产生的是单例的bean,它还可以管理bean的生命周期。...原创 2022-04-09 10:50:58 · 434 阅读 · 0 评论 -
Redis简单介绍以及在Springboot中使用redis
Redis简单介绍:Redis是一个使用c语言开发的数据库,它的数据是存在内存中的,读写速度很快,因此被广泛的应用于缓存方面。redis特点:1.redis支持key-value、list、set、zset、hash等数据结构的存储。2.redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候再次加载进行使用。3.Redis有灾难恢复机制。因为可以把缓存中的数据持久化到磁盘上。4.redis同时使用了惰性删除与定期删除。5.redis支持发布订阅模型、lua脚本、事务等功能。6原创 2022-04-05 21:04:54 · 7039 阅读 · 0 评论 -
SpringBoot中后端数据校验
1.为什么后端要进行数据校验?如果新增一个数据,直接在前端页面新增,由于前端代码中有设置数据不能为空,所以不会传入空值。但是不通过前端页面新增一个数据时,比如使用swagger,直接访问后端时,当某个值为空时,可能会被传进数据库,这就会造成一些问题。2.怎么使用数据校验?(要添加对应依赖)(1)在实体上的属性上添加校验注解:(2)在controller层的方法前加上注解@Validated开启数据校验(3)如果每个方法要校验的参数不同,可以使用分组校验。实体类上:每个分组都要创建一个原创 2022-04-03 14:06:14 · 2219 阅读 · 0 评论 -
java数据对象使用:PO、DO、TO、DTO、VO、BO、DAO、POJO概念解释及使用
PO: Persistant Object 持久对象数据库表中的记录在java对象中的显示状态。最形象的理解就是一个PO就是数据库的一条记录。可以把一条记录作为一个对象处理,也可以方便的转为其他对象。假如有一条数据库的数据,现在一个简单类是被赋予了这条数据的实例,那么现在这条简单类的存在状态就是PO.(一般/暂时不使用)DO:Domain Object 领域对象用来接收数据库对应的实体,是一种抽象化的数据状态,介于数据库与业务逻辑之间。一般在Service 对 数据库的访问接收数据时使用的。原创 2022-04-01 20:49:54 · 3457 阅读 · 0 评论 -
@RequestBody 和 @ RequestParam 的区别
@RequestBody@RequestBody接收的参数是来自请求体,一般处理application/json、application/xml等类型的数据。对于application/json类型的数据而言,使用@RequestBody可以将body中所有json数据传到后端,后端再进行解析。对于Get请求,不能使用@RequestBody.对于Post请求,可以使用@RequestBody和@RequestParm。但是如果使用@RequestBody对于参数的转化的配置必须统一。可以使用多个原创 2022-04-01 20:02:04 · 1799 阅读 · 0 评论 -
报错:Required request body is missing
SpringMVC中@GetMapping注解不支持 @RequestBody注解。改成@PostMapping 或者去掉 @RequestBody原创 2022-04-01 19:33:55 · 427 阅读 · 0 评论 -
报错:updateSlide attempted to return null from a method with a primitive return type (int).
return null from a method with a primitive return type (int).(试图从具有原始返回类型(int)的方法返回null)Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。将返回类型是int的改成Integer.原创 2022-03-30 15:37:40 · 99 阅读 · 0 评论 -
使用线程模拟倒计时和打印当前系统时间
1.模拟倒计时://模拟倒计时public class TestSleep2 { public static void main(String[] args) { try { tenDown(); } catch (InterruptedException e) { e.printStackTrace(); } } public static void tenDown() throws原创 2022-03-28 20:26:38 · 182 阅读 · 0 评论 -
父类对象由子类实例化
class Person{ public String name; public String getType(){ return "人"; }}class Student extends Person{ private int money; public String getType(){ return "学生"; }}public class Demo5 { public static void main(.原创 2021-12-06 19:18:10 · 1135 阅读 · 0 评论 -
final关键字
final关键字可修饰类,变量和方法。特性:1.final关键字修饰的类不能被继承。2.final修饰的方法不能被子类重写(与父类具有相同的方法名和参数列表),可以重载(相同的方法名,不同的参数列表)3.final修饰的变量(成员变量和局部变量)是常量,只能赋值一次。final修饰的类变量、实例变量能指定初始值的地方如下:类变量(以static修饰的):必须在静态初始化块中指定初始值或声明该类型变量时指定初始值。而且只能在其一指定。实例变量(不以static修饰的):必须在非静态初始化块、声明原创 2021-12-06 18:54:09 · 278 阅读 · 1 评论 -
遍历集合的几种方法
Collection系列集合、Map系列集合主要用于盛装其他对象,而 Iterator则主要用于遍历〈即迭代访问)Collection集合中的元素,Iterator对象也被称为迭代器。遍历集合的方法:一:使用forEach(Consumer action)默认方法Java 8为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一 个函数式接口,而Iterable接口是Collection接口的父接口,因此Collection集合也可直接调用该原创 2021-12-06 18:45:19 · 5045 阅读 · 0 评论 -
Java泛型
泛型主要目的是解决ClassCastException的问题,在进行对象的向下转型时都会存在安全隐患,Java希望通过泛型来解决此问题。泛型的本质在于:类中的属性或方法的参数与返回值类型可以由对象实例化的时候动态决定。编写泛型类时,要特别注意,泛型类型不能用于静态方法。当不设置泛型类型时,会默认为Object类型。注意:1. 泛型中只允许设置引用类型,如果现在要操作基本类型必须使用包装类2. 从jdk1.7后,泛型的格式为:Point<引用类型> point= Point<&g原创 2021-12-06 18:37:46 · 417 阅读 · 0 评论 -
Java继承
java是单继承。继承性的特点:扩充已有类的功能。继承的主要目的是重用父类中的结构继承的实现:用extends关键字来实现语句格式:class 子类 extends 父类 { }子类也称派生类,父类也称为超类。此时在子类中没有定义任何操作,但是子类可以直接通过父类继承而来的方法来实现相应的功能。内存关系:子类实例化对象流程:在进行子类实例化时一定要实例化好父类现在即使没有进行父类对象实例化,也会由系统自动调用父类的构造方法(自动实例化父类对象)此时就相当于子类方法中隐藏了一原创 2021-11-22 22:37:38 · 198 阅读 · 0 评论 -
Java包装类
包装类的主要功能是:针对基本数据类型的对象转换而实现的,基本数据类型进行包装处理后可以像对象一样进行引用传递,同时也可以用Object类接收。Java包装类中提供两种类型:1.对象型包装类(Object直接子类): Boolean,Character2.数值型包装类(Number直接子类):Byte,Short, Integer, Long, Float, Double装箱与拆箱操作:装箱:将基本数据类型保存到包装类中拆箱:从包装类中获取基本数据类型在JDK1.5之后就不需要手工装箱拆箱,原创 2021-11-22 22:29:43 · 186 阅读 · 0 评论 -
Java数组
基本概念数组是编程语言常见的一种数据结构,可以存储多个数据,每个数组只能存储一种类型的数据,包括元素的赋值和取出数组的元素Java中,要求数组中的元素有相同的数据类型。因此,数组中的元素类型是唯一的。数组一旦初始化完成,数组在内存中所占的空间将会被固定下来,因此,数据的长度将不可改变。数组是引用类型,虽然int[] 中int是基本数据类型,但是int[]属于引用数据类型。数组是引用数据类型,定义一个变量的时候,仅仅表示了定义了一个引用变量(也就是一个指针),这个变量未指向任何有原创 2021-11-21 22:51:42 · 117 阅读 · 0 评论 -
Java代码块
在程序中,代码块用 {} 表示,根据代码块出现的位置和定义关键字的不同,代码块可以分为:1.普通代码块:定义在一个方法中的代码块,可以在一个方法中进行结构的拆分,防止相同变量名称所带来的影响。2.构造块:定义在一个类中,构造块会先于构造方法执行,并且每一次实例化新对象的时候都会调用构造块中的代码3.静态块:主要是指用static关键字定义的代码块,静态块的定义需要考虑两种情况;在主类中定义、在非主类中定义。在非主类中定义时:静态代码块会优于构造块执行,并且不管有多少个实例化对象,静态代码块只会出现一原创 2021-11-21 22:41:09 · 185 阅读 · 0 评论