自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nested exception is java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

从错误信息来看,在执行插入操作时出现了错误,这意味着在向表插入数据时,id字段没有默认值,并且你在插入语句里也没有为该字段提供值。

2025-02-25 14:34:27 610

原创 Java反射机制深度解析

反射(Reflection)是Java语言的一种核心特性,允许程序在运行时(Runtime)动态获取类的元数据(如类名、方法、属性、构造函数等),并能直接操作类或对象的内部属性与方法。通过包中的API,Java程序可以:动态加载类获取类的构造方法、方法、字段等信息调用对象的方法或修改字段值创建对象实例(即使构造方法私有)反射机制绕过了编译时的静态类型检查,使得代码具备更强的灵活性和动态性,但同时也带来了性能开销和安全风险。

2025-02-25 14:28:16 425

原创 数据库插入时报错

字段没有默认值,并且在插入语句里没有为该字段提供值。修改方法是修改实体类的单词deviceId。在执行 SQL 插入操作时出现了错误,错误的核心是。

2025-02-22 09:43:38 275

原创 创建者字段类型冲突

之前在数据库的字段是利用create_by,后端实体类里是createBy,没有出现这种问题。后面使用时出现这种问题,原因是实体类里面的这个字段和数据库里面的关键字冲突了,解决办法就是将数据库里面的字段重新换一个字段名,让它和数据库的关键字不冲突即可。

2025-01-08 19:41:21 358

原创 java复习

【代码】java复习。

2025-01-03 20:08:08 451

原创 String类

类String包括用于检查序列的各个字符的方法,用于比较字符串,用于搜索字符串,用于提取子字符串以及用于创建具有翻译为大写或小写的所有字符的字符串的副本。String类提供了处理Unicode代码点(即字符)的方法,以及处理Unicode代码单元(即, char值)的方法。Collator类提供了更精细,区域设置敏感的字符串比较的方法。Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串。

2025-01-03 17:08:45 548

原创 Vue学习之路:从入门到实践

// 选项...

2024-12-27 16:58:02 725

原创 Java 核心知识要点解析

是方法区的一部分,用于存储编译期生成的各种字面量和符号引用。

2024-12-21 10:34:51 1027

原创 认识堆的排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似 完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。

2024-12-13 09:38:50 441

原创 Error starting ApplicationContext. To display the conditions report re-run your application with ‘de

此外,Spring还提供了构造器注入作为另一种推荐的方式来处理依赖关系,这种方式有助于提前发现配置错误,并且在某些情况下可以更好地支持不可变对象的创建。如果你的应用程序允许,也可以考虑将字段注入改为构造器注入,这有时也能帮助减少或解决循环依赖问题。如果循环依赖反映了设计上的问题,可能还需要重新考虑组件的设计,确保它们之间的依赖关系更加清晰、合理。注解来解决循环依赖的问题。Spring默认情况下不允许这样的循环依赖,因为这可能导致不确定的行为和难以调试的问题。之间的直接初始化依赖链,从而避免了循环依赖问题。

2024-11-28 15:43:59 853

原创 Java 实现最大堆及其基本操作

堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。

2024-11-12 20:13:42 1113

原创 双路快速排序和三路排序算法

三路快速排序是双路快速排序的进一步改进版本,三路排序算法把排序的数据分为三部分,分别为小于 v,等于 v,大于 v,v 为标定值,这样三部分的数据中,等于 v 的数据在下次递归中不再需要排序,小于 v 和大于 v 的数据也不会出现某一个特别多的情况),通过此方式三路快速排序算法的性能更优。如果存在正整数 i, j 使得 1 ≤ i < j ≤ n 而且 A[i] > A[j],则 <A[i], A[j]> 这个有序对称为 A 的一个逆序对。我们可以使用本教程的归并思想求逆序对的数量。

2024-11-06 10:26:27 1043

原创 归并排序和随机化快速排序

快速排序由 C. A. R. Hoare 在 1960 年提出。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

2024-11-05 09:31:59 970

原创 插入排序和希尔排序

定义:插入排序是一种简单且直观的排序算法,适用于小规模数据的排序。基本思想:通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。实现特点:使用双层循环,外层循环遍历每个元素,内层循环负责将当前元素插入到正确的位置。定义:希尔排序是一种基于插入排序的排序算法,但它通过将原始列表分割成多个子列表来改进性能,每个子列表使用插入排序进行排序。基本思想:通过比较相距一定间隔的元素来进行排序,逐步减少间隔,直到间隔为1,此时整个列表基本有序,最后进行一次插入排序。

2024-11-04 19:43:32 614

原创 搭建普通 Spring IoC 项目

Spring 框架的核心特性之一是控制反转(IoC),它通过依赖注入(DI)来管理对象的生命周期和相互依赖关系。本文将指导你如何搭建一个普通的 Spring IoC 项目。

2024-10-30 14:36:39 598

原创 认识spring

Spring-AOP:Spring-aop是Spring的另⼀个核⼼模块, 在Spring中,他是以JVM的动态代理技术为基 础,然后设计出了⼀系列的Aop横切实现,⽐如前置通知、返回通知、异常通知等。Spring Data Access(数据访问):由Spring-jdbc、Spring-tx、Spring-orm、Spring-jms和Spring-oxm 5 个模块组成 Spring-jdbc 模块是 Spring 提供的JDBC抽象框架的主要实现模块,⽤于简化 Spring JDBC。

2024-10-30 14:06:02 730

原创 解决数组两数之和问题与逻辑推理找出谋杀案凶手

给定一个整数数组nums和一个整数目标值target(2<=nums.length<=10^4),请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。以下为4个嫌疑犯的供词。解释:因为nums[0]+nums[1]==9,返回[0,1]。输入:nums=[2,7,11,15],target=9。输入:nums = [3, 3], target = 6。输入:nums =[3,2,4], target=6。已知3个人说了真话,1个人说的是假话。根据这些信息,确定到底谁是凶手。

2024-10-24 15:36:20 452

原创 缓存击穿、缓存穿透、缓存雪崩

缓存击穿、缓存穿透和缓存雪崩是分布式系统或缓存机制中常见的三种问题。缓存击穿是指某个热点数据在缓存中失效,并在大量的请求同时涌向后台数据库时发生。互斥锁/同步锁机制:在缓存失效后,通过加锁控制对数据库的访问,从而保证只有一个请求能够去查询数据库并更新缓存。缓存雪崩是指在某一时刻,大量缓存数据共同过期,导致时大流量涌向数据库。缓存穿透是指用户请求的数据在缓存和数据库中都不存在,从而导致每次请求都落到数据库上。恢复机制:对缓存系统进行降级处理或配置多级缓存,缓存空对象:缓存空结果,但要设置短的过期时间。

2024-10-23 09:57:59 284

原创 TCP与UDP协议

(1)TCP协议面向连接、可靠、基于字节的传输,IP报头中协议号为6。一般用于对可靠性要求较高的应用。(2)UDP协议无连接、不可靠、基于报文的传输,IP报头中协议号为17。主机不需维持连接状态具有较高的传输效率,可靠性由应用层来提供。

2024-10-23 09:23:25 896

原创 认识maven

Maven 是一个开源的项目管理工具,主要用于 Java 项目的构建、依赖管理和项目生命周期管理。它提供了一种标准的项目结构和管理流程,使得开发人员能够更轻松地管理项目的构建过程,提高代码的可重用性和可维护性。packaging: 项目的打包方式,常见的有jar(Java 库),war(Web 应用),pom(父项目)。简化项目构建: Maven 提供了一种标准化的构建过程,减少了手动配置的需要,降低了出错的几率。性能开销: 在某些情况下,Maven 的依赖下载和构建过程可能较慢,尤其是在依赖库较多时。

2024-10-17 19:06:11 647

原创 redis常见面试题

在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。优点:整个Redis数据库将只包含一个文件 dump.rdb,方便持久化。容灾性好,方便备份。3、性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是 10 最大化。使用单独子进程来进行持久化,主进程不会进行任何10 操作,保证了redis 的高性能4.相对于数据集大时,比 AOF的启动效率更高。

2024-10-15 19:51:37 1073

原创 Redis技术指南:数据类型、事务处理与过期键管理

NoSQL(Not Only SQL)数据库是一种非关系型的数据库,它与传统的SQL数据库(如MySQL、Oracle等关系型数据库)不同。NoSQL数据库的设计目的是为了应对大规模数据存储的需求,特别是在处理海量数据和高并发访问场景下,提供更好的性能、灵活性和可扩展性。NoSQL数据库通常用于Web应用、大数据处理、实时分析等领域。NoSQL数据库的主要特点包括:1. 非关系型结构:NoSQL数据库不使用表、行或列的概念,而是采用键值对、文档、列族或图形等多种数据模型来组织数据。

2024-10-15 19:35:21 979

原创 Java多线程编程基础与高级特性

在现代软件开发中,多线程编程是一个重要的概念,它能够充分利用多核处理器的能力,提高程序的执行效率。Java 语言内置了对多线程的支持,使得开发者可以方便地创建和管理线程。

2024-10-08 20:25:54 1175

原创 深入MySQL:掌握索引、事务、视图、存储过程与性能优化

在掌握了MySQL的基本操作之后,你可能会遇到更复杂的数据管理和优化需求。本文将介绍一些MySQL的进阶特性,包括索引、事务、视图、存储过程和函数、以及性能优化等内容。通过学习这些高级功能,你可以更高效地管理和优化你的数据库。

2024-09-26 14:12:44 1080

原创 MySQL数据库操作与查询示例:学生课程成绩管理系统

查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Mysql中现有四张表分别为学生表、课程表、成绩表、教师表。查询“001”课程比“002”课程成绩高的所有学生的学号;查询所有同学的学号、姓名、选课数、总成绩;按各科平均成绩从低到高和及格率的百分数从高到低排序。在mysql数据库中分别创建四张表,并添加数据。查询平均成绩大于60分的同学的学号和平均成绩;查询没学过“叶平”老师课的同学的学号、姓名;查询没有学全所有课的同学的学号、姓名;查询姓“李”的老师的个数;

2024-09-25 17:48:02 1772

原创 MySQL入门指南:从安装到基本操作

MySQL常用于Web应用中,是LAMP(Linux, Apache, MySQL, PHP/Perl/Python)和WAMP(Windows, Apache, MySQL, PHP/Perl/Python)等流行开发环境的重要组成部分。下载MySQL:访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/),根据你的操作系统选择合适的版本下载。在安装过程中,你会被要求设置root用户的密码,请记住这个密码,后续登录MySQL时会用到。来查询表中的所有记录。

2024-09-24 19:48:47 735

原创 MySQL关卡任务书

索引回表是指先通过辅助索引找到主键值,再通过主键值回到聚簇索引中查找完整记录的过程。避免方法包括使用覆盖索引,即索引包含了查询所需的所有列,从而无需回表。5. 数据库优化方式?优化SQL语句,如避免使用SELECT * ,合理使用索引。对表进行分区,减少I/O操作。适当调整数据库配置参数。定期分析和优化表,如使用ANALYZE TABLE命令。使用缓存技术减少数据库负载。

2024-09-23 14:52:25 976

原创 如何使用VMware安装Linux操作系统

使用VMware安装Linux操作系统。以Cont OS为例进行说明。

2024-09-19 09:24:42 458

原创 JDBC简介与应用:Java数据库连接的核心概念和技术

JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API 并且独立于特定的数据库厂商。它允许开发者以一种标准的方式从 Java 应用程序中访问关系型数据库,这意味着一旦你掌握了 JDBC 的基本操作,你可以轻松地将你的应用程序与多种数据库连接起来,而不需要更改大量的代码。

2024-09-13 15:03:29 2439

原创 Java JDBC教程:连接数据库与执行SQL查询

在上述示例代码中,我们展示了如何使用ResultSet的next()方法来遍历每一行数据,并使用getInt()和getString()等方法来获取列值。这是一个简单但不太安全的方法,因为它不适合用于带有用户输入的动态 SQL 语句,因为那样容易导致 SQL 注入攻击。处理 JDBC 异常的最佳实践是使用适当的异常处理机制,确保应用程序能够优雅地处理错误并给出适当的反馈。2. 异常处理:妥善处理可能出现的异常,如ClassNotFoundException和SQLException,确保程序的健壮性。

2024-09-12 09:43:43 2583

原创 理解 JDBC:开启 Java 与数据库的标准化通信之路

JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API 并且独立于特定的数据库厂商。它允许开发者以一种标准的方式从 Java 应用程序中访问关系型数据库,这意味着一旦你掌握了 JDBC 的基本操作,你可以轻松地将你的应用程序与多种数据库连接起来,而不需要更改大量的代码。

2024-09-11 08:42:00 1022

原创 Java反射与File操作:创建文件的实践

在Java中,反射是一种强大的机制,允许我们在运行时动态地获取类的信息以及创建和操作对象。具体来说,我们将通过反射获取File类的构造器,并创建一个新文件。接下来,我们可以通过getConstructors方法获取File类的所有公共构造器,并将它们打印出来。首先,我们需要使用Class类的forName静态方法来获取File类的Class对象。有了构造器的信息后,我们可以选择一个合适的构造器来创建一个File对象。在这个例子中,我们将使用接受一个字符串参数的构造器来指定文件的位置和名称。

2024-09-05 18:00:16 675

原创 Java 反射和枚举

Java 反射(Reflection)是一个强大的特性,它允许程序在运行时查询、访问和修改类、接口、字段和方法的信息。反射提供了一种动态地操作类的能力,这在很多框架和库中被广泛使用,例如Spring框架的依赖注入。

2024-09-03 10:24:19 1108

原创 Java泛型

Java泛型是Java语言的一个重要特性,它允许你在编译时指定类型参数,从而编写更加灵活和可重用的代码。

2024-08-28 08:53:53 850

原创 Java HashSet和Java HashMap

HashSet和HashMap都是基于哈希表的数据结构。HashSet用于存储不重复的元素集合,底层使用HashMap实现。HashMap用于存储键值对,其中键是唯一的。两者都提供了快速的操作,时间复杂度通常为 O(1)。

2024-08-27 08:48:24 1130

原创 Java ArrayList和LinkedList

ArrayList是Java中最常用的数据结构之一,它是一个动态数组的实现,允许你在程序中存储和管理一个可变大小的对象列表,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。

2024-08-22 08:45:51 1440

原创 Java 数据结构和集合框架

数据结构是计算机科学中用于组织、管理数据的一种特殊方式,它能够有效地存储和检索数据。在Java中,数据结构通常通过集合框架(Collection Framework)来实现,它提供了一系列接口和类来帮助我们高效地处理数据。

2024-08-21 09:33:19 1356

原创 Java异常处理

有时候,标准的异常类型可能不足以表达你想要的信息,这时你可以创建自己的异常类。自定义异常通常继承自Exception类或者它的子类。try {throw new MyException("这是一个自定义异常!");通过使用异常处理,我们可以让程序更加健壮和可靠。即使出现了预料之外的情况,程序也不会突然崩溃,而是能够优雅地处理这些问题并继续运行下去。

2024-08-20 08:59:19 627

原创 Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

2024-08-15 08:47:32 578

原创 Java String类

Java 提供了 String 类来创建和操作字符串,字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象。String 类在 java.lang 包下,所以使用的时候不需要导包String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象字符串不可变,它们的值在创建后不能被更改。

2024-08-14 08:54:05 1025

空空如也

空空如也

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

TA关注的人

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