自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis查询部分字段为Null的问题解决思路

今天在使用Mybatis的时候出现了查询结果与数据库记录不一致的情况。在本案例中是体现在字段中.可以看到,在数据库中字段的值是不为Null的。但经过查询后发现部分字段为Null。问题出现在哪里呢?主要问题出现在:在数据库中的命名是使用下划线的方式;对应的实体中是采用驼峰命名方式的。

2023-05-21 15:05:36 1155

原创 Set是如何保证元素不重复的

1. HashSet是哈希表实现的,HashSet中的数据是无序的,可以放入Null,但只能放入一个Null,两者中的值不能重复,就如同数据库中的唯一约束,底层基于HashMap。2. TreeSet是二叉树实现的,TreeSet中的数据是自动排序的,不允许放入Null值,底层基于TreeMap。

2023-05-15 10:50:02 226

原创 ArrayList与LinkedList的区别

如果需要快速随机访问元素,就选择 ArrayList ,如果需要频繁插入和删除元素,则选择 LinkedList 。

2023-05-07 16:13:35 115

原创 Java中的集合类有哪些?

Java的整个集合框架中,主要分为List、Set、Queue、Stack、Map等五种数据结构。其中,前四种数据结构都是单一元素的集合,而最后的Map则是以KV键值对的形式使用。

2023-04-24 02:18:37 278

原创 String、StringBuilder和StringBuffer的区别

String是不可变的,StringBuilder和StringBuffer是可变的。StringBuffer是线程安全的,StringBuffer是非线程安全的。

2023-04-23 23:16:04 48

原创 Java是值传递还是引用传递?

值传递和引用传递最大的区别是传递的过程中有没有复制出一个副本来,如果是传递副本,那就是值传递,否则就是引用传递。

2023-04-23 22:53:22 44

原创 什么是深拷贝和浅拷贝?

*浅拷贝是指将一个对象复制到另一个变量中,但是只复制对象的地址,而不是对象本身。也就是说,原始对象和复制对象实际上是共享同一个内存地址的。**因此,如果我们修改了对象中的属性或元素,原始对象中对应的属性或元素也会对应被修改。在Java中,我们常用的BeanUtils基本也都是浅拷贝的。**深拷贝是指将一个对象及其所有子对象都复制到另一个变量中,也就是说,它会创建一个全新的对象,并将原始对象中的所有属性或元素都复制到新创建的对象中。

2023-04-23 01:29:01 165

原创 HashMap原理

HashMap基本是每一个面试官都不愿意放过的内容了。这是Java中的热点面试问题,也是很经典的面试热点。如果能对HashMap有一定的了解,可以更好的帮助你去理解学习相关问题,也能更好的处理业务问题,同时也能让你在面试中和面试官有更好的谈资。你掌握的多少就是决定你和面试官的谈资空间有多大。

2023-04-18 11:51:51 49

原创 ==和equals的区别

equals是Object类的方法。有的类对equals()进行了重写,比如String的equals被重写后比较的是内存地址。这个也不仅仅是基础知识了,就算是在面试中也有可能被问到。那我们今天就来简单快速的把这个知识点记住吧!被重写后的equals()类都必须要重写hashCode()。下面是关于String类中重写的equals()的源码。如果是Sting类型的,就拆分成字符数组进行遍历对比。先是使用==对目标字符串进行比较。

2023-04-18 11:35:22 40

原创 异常处理机制

那么我们有什么异常处理机制呢?1. 使用try、catch、finally代码块捕获异常。并且能在程序运行过程中出现异常的时候一定能执行到finally中的内容。2. 使用throws声明并抛出可能会出现异常的类型 让后续调用的类对其进行处理,如果没有对其处理,程序运行中出现异常会导致程序运行终止。

2023-04-18 11:33:21 68

原创 重载和重写的区别

1、出现的地点不一样;2、提示注解不一样;3、作用域不一样。

2023-04-18 11:32:28 42

原创 接口和抽象类的区别

1、所修饰的关键字不一样;2、方法的使用范围不一样; 3、抽象类可以使用构造方法,接口不能使用构造方法。

2023-04-18 11:30:10 36

原创 @Autowired和@Resource的区别

许多小伙伴都会在面试的时候被面试官问到这个问题,因为功能类似,所以在实际Spring工程中这二者孰优孰劣并不是很明显,那我们来了解一下它们之间需要注意的地方吧,希望大家在面试的时候不要再踩坑了。

2023-04-03 02:11:17 53

原创 Spring中的代理方式 -- JDK动态代理

关于Spring中的动态代理,有两种实现方式,分别是JDK和CgLib。这篇文章我们来实现JDK动态代理的过程。

2023-03-31 13:33:29 264

原创 HashMap与HashTable的区别

谈谈你对HashMap与HashTable的理解。它们之间的区别又是什么?

2023-03-13 12:08:46 67

原创 MySQL中的COUNT(*)和COUNT(1)和COUNT(字段)有什么区别?

MySQL中的COUNT(*)和COUNT(1)和COUNT(字段)有什么区别?

2022-09-02 10:00:17 310

原创 序列化对象为什么需要定义UID值

源码大致意思:序列化运行时与每个可序列化类关联一个版本号,称为 serialVersionUID,在反序列化期间使用该版本号来验证序列化对象的发送方和接收方是否已加载与序列化兼容的该对象的类。如果接收者为对象加载了一个类,该对象的 serialVersionUID 与相应发送者的类不同,则反序列化将导致 {InvalidClassException}

2022-08-22 15:01:45 391

原创 包装类型之间的比较使用==还是使用equals好?

包装类型之间用==比较还是用equls()比较好?

2022-05-12 15:47:48 578 1

原创 Java【接口】的小总结

在Java 9+ 的版本中,接口的内容可以有:1、成员变量其实就是常量格式:public static final 数据类型 常量名称 = 数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。常量名称完全大写,用下划线进行分隔。2、接口中最重要的就是抽象方法格式:public abstract 返回值类型 方法名称(参数列表)注意:实现类必须覆盖重写接口所用的抽象方法,除非实现类是抽象类。3、从Java 8开始,接口里允许定义默认方法格式:public default 返回值类型 方法

2021-07-06 16:30:07 53

原创 Java【Random】随机数生成

练习1:生成一个随机数使用Random和我们之前使用的Scanner差不多,三个步骤:导包、创建、使用在Random里有一个【nextInt()】方法,用于生成一个int类型的随机数,其中包括有整数、0、负数 public static void main(String[] args) { //nextInt()方法的使用 Random random = new Random(); //导包并创建 int n = random.nextInt();

2021-07-05 16:01:17 185

原创 Java【Scanner】练习2:从键盘输入三个数字,比较大小并输出最大值

思路:1、从键盘获取3个int数字就需要使用三次nextInt()方法2、进行比较通过建立一个新的容器去比较大小public static void main(String[] args) { // 获取输入的三个数字 System.out.println("请输入第一个数字"); Scanner scanner1 = new Scanner(System.in); int num1 = scanner1.nextInt();

2021-07-05 15:11:55 4101

原创 Java【Scanner】练习:从键盘上获取两个数字进行求和

Scanner是文本扫描器的一个包装类,我们要从键盘上获取两个数字就一味这需要去调用两次nextInt()方法public static void main(String[] args) { System.out.println("请从键盘上输入数字进行相加"); System.out.println("请输入第一个数字"); Scanner scanner = new Scanner(System.in); //键盘获取输入的int数字

2021-07-05 13:59:48 1700 1

原创 Java【for循环】练习制作乘法表

public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请从键盘输入整数以绘制乘法表,以回车结束输入。"); if (scanner.hasNextInt()) { int count = scanner.nextInt(); for (int row = 1;

2021-07-05 08:52:04 92

原创 Java基础之【this关键字】

此前我们讲过了关于【super】关键字的使用,今天我们要讲的内容是【this】关键字。this关键字是用于访问本类中元素和方法,this关键字有【3】种使用方法,以下举例说明。1、【在本类的成员方法中,访问本类的成员变量】public class Zi{ int num = 20; //这里的num为子类里的成员变量 public void showNum() { int num = 10; System.out.println(num);

2021-06-30 21:27:35 139

原创 Java【super】关键字的三种使用方法

super关键字是在继承关系中子类用来读取父类里的信息【super】关键字的三种使用方法:1、子类访问父类的成员变量创建一个父类,并在里面写上一个成员变量public class Fu { int num = 10;}然后再创建一个子类public class Zi extends Fu{ //1、子类访问父类的成员变量 public void methodFu(){ System.out.println(super.num); }}

2021-06-30 10:09:30 358

原创 Java关于【重载】与【重写】的区别

我们在日常的代码编写过程中,难免会使用到关于【重载】和【重写】功能的时候,那我们在什么情况下用重载,什么时候用重写呢?我们先看看这两者之间有什么不同吧【重载】在日常编写代码的时候,【为了避免我们重复编写相同的代码】,经常会使用到重写的功能...

2021-06-28 18:05:54 47

原创 关于vue-cil脚手架的安装和项目结构

vue-cli是官方提供的一个脚手架工具(已经帮组写好基础代码).可以快速生成一个vue的项目模板github地址 : https://github.com/vuejs/vue-cli主要的功能:规范的目录结构本地调试代码部署热加载单元测试vue-cli的优势:成熟的vue项目的架构设计本地测试服务器 node-server集成打包上线环境要求需要先安装Node:nodejs>4.0 (通过node -v查看版本)需要先安装:Git (Window

2021-06-26 17:23:37 123

原创 如何使用已定义好的标准类

如何使用已定义好的标准类我们可以在同一个包的路径下再去新建一个类,但是类名不要和我们之前的类名相同在这里我先新建一个名为Demo01_Teacher的类,并为其添加一个main方法,如图所示:那么我们要怎么样才能让这个新建的类和之前我们已经设置好的标准类关联起来呢?对其进行实例化,也就是new一个对象格式:类名 XXX = new 类名();之前我们在Teacher类中为其设置了两个属性,分别是name和age我们在Demo01_Teacher类中可以通过XXX.Getter/Setter方

2021-05-13 15:09:06 167

原创 如何创建一个标准类

如何创建一个标准类开发工具:IDEA 2021 旗舰版在开发过程中,我们必然会需要使用定义一些特定的类和方法等操作,那么一个标准的类是怎么构成的呢?通常来说,一个标准的类的组成部分由4个部分组成,分别是:1. 所有的成员变量都要使用private关键字修饰2.为每一个成员变量编写一对Getter/Setter方法3.编写一个无参构造方法4.编写一个全参构造方法一个标准的类由上面4部分组成,那么我们实际中需要怎样操作呢?新建好一个类后,我们只需要打2行代码即可我这里新建一个名为Teacher

2021-05-12 23:18:46 629

空空如也

空空如也

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

TA关注的人

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