自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 《忆排序——面试我最强》——马大才人

说真的让我三十秒就记住了!

2023-08-31 09:09:43 136

原创 finally语句块一定会执行吗?

第二种情况:进入try-catch-finally中但是jvm停止运行( System.exit(0))第二种情况:进入try-catch-finally中但是jvm停止运行( System.exit(0))第一种情况:没进入try-catch-finally中。1、直接返回未执行到 try-finally 语句块。2、抛出异常未执行到 try-finally 语句块。那什么情况下finally语句块不会执行呢?

2023-08-30 07:10:12 319

原创 JDK17+SpringBoot3@Resource无法使用解决情况

之前我在使用Spring mvc时,发现@Resource 无法使用,但是只要引入:就可以使用但是在Spring Boot3 中就不行!!!

2023-08-22 10:58:19 1256

原创 解决Spring mvc + JDK17@Resource无法使用的情况

我在使用jdk17进行Spring mvc开发时发现 @Resource用不了了。

2023-08-22 10:49:12 1192

原创 Mybatis

github官网解释:中文官网的解释:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。自己总结:是一个基于ORM思想,支持自定义SQL,存储过程,基本映射以及高级映射的持久层(数据访问层)框架。

2023-08-21 11:21:41 77

原创 【代理模式】

●可以是真实的角色的操作更加纯粹!不用去关注一些公共的业务●公关也就交个代理角色!实现了业务的分工●公共业务发生扩展的时候,方便集中管理代理模式的缺点:●一个真实角色就会产生一个代理角色;代码两会翻倍,开发效率会变低。

2023-08-21 11:11:35 316

原创 为什么在Spring中使用@Autowired时会提示Field injection is not recommended 而@Resource不会

在使用IDEA进行开发时,在字段上使用Spring的依赖注入注解@Autowired后会出现如下警告Field injection is not recommended (字段注入是不被推荐的)我们这里讨论:使用@Resource却不会出现此提示网上文章大部分都是介绍两者的区别,没有提到为什么。

2023-08-16 10:28:51 234

原创 MyBatis-Pluss条件构造器

说明:QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为注意事项:需要版本 >=3.0.7param 参数名要么叫ew,要么加上注解使用不支持Wrapper内的entity生成where语句。

2023-08-14 10:37:48 288

原创 【Spring】浅谈spring为什么推荐使用构造器注入

​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由Spring的IOC容器管理,将对象的依赖关系由Spring控制,避免硬编码所造成的过度程序耦合。前几天的时候,笔者的同事问我为什么要使用构造器的注入方式,我回答说因为Spring文档推荐这种,而说不出为什么 T^T,后面抽时间了解了一下,下面就是笔者要讨论的就是其注入方式。保证依赖不可变(final关键字)

2023-08-14 10:21:43 917

原创 redis 和 mongodb 比较

总体来说,Redis适用于高性能的键值存储和缓存场景,而MongoDB适用于更复杂的数据存储和查询需求,特别是对复杂数据结构和丰富查询功能的支持。具体选择应根据实际应用需求和数据模型的特点进行评估。Redis和MongoDB是两种不同类型的数据库,它们在数据存储和查询方式、数据模型以及适用场景等方面有一些明显的区别。

2023-08-14 10:17:19 1107

原创 【注解使用】使用@Autowired后提示:Field injection is not recommended(Spring团队不推荐使用Field注入)

在使用 IDEA 开发 SpringBoot 项目时,在Controller类中使用注解@Autowired注入一个依赖出现了警告提示,查看其他使用该注解的地方同样出现了警告提示。这是怎么回事?由于先去使用了SpringBoot并没有对Spring进行系统性学习,所以做一个记录。

2023-08-14 10:09:57 2098

原创 java.lang.IllegalStateException: 不允许修改锁定的参数映射

这样设计的主要原因是为了保护请求参数的安全性和请求的一致性。需求是:如果是由 getParameter(String s) 得到的数据,可以直接修改value值,将含有敏感词的部分替换为 ***请求一致性问题:由于请求参数在多个地方会被使用,如果允许修改参数值,可能会造成请求的不一致性,导致系统无法准确处理请求。解决方案是:用HashMap(Map m),重新new一个map,在新的map中修改值,并返回新的map。方法返回一个包含 HTTP 请求参数的不可修改的映射。方法返回的映射是不可修改的。

2023-08-08 16:18:55 482

原创 Redis 事务

事务是指。Redis 事务不是严格意义上的事务,只是用于帮助用户在一个步骤中执行多个命令。单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。Redis 事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。MULTI、EXEC、DISCARD、WATCH 这四个指令构成了 redis 事务处理的基础。在 Redis 中,通过使用。

2023-08-07 13:37:09 394

原创 Redis持久化

redis 提供了两种持久化的方式,分别是(Redis DataBase)和RDB,简而言之,就是在不同的时间点,将 redis 存储的数据生成快照并存储到磁盘等介质上;AOF,则是换了一个角度来实现持久化,那就是将 redis 执行过的所有写指令记录下来,在下次 redis 重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

2023-08-07 13:27:04 67

原创 类名.class.getClassLoader().getResourceAsStream(“.“);和ClassLoader.getSystemResourceAsStream(“.“)的区别!!!

指定的资源文件名字可以是相对于类路径的相对路径(相对于类加载器或系统类加载器的类路径)。获取资源文件的输入流:两者都是用来获取资源文件的输入流。无论使用哪种方式,都可以获取指定资源文件的输入流,以便读取和操作它。综上所述,两者的主要区别在于资源查找路径和类加载器的范围不同。一般来说,如果你想要查找与指定类相关的资源文件,可以使用。,它们返回的都是资源文件的输入流。如果你想要查找与系统类路径相关的资源文件,可以使用。会从系统类加载器的类路径中查找资源文件。类加载器的类路径中查找资源文件,而。

2023-07-26 09:51:18 145

原创 如何像创建Java普通类一样,快速新建servlet类

像创建Java普通类一样,快速新建servlet类

2023-07-25 15:29:42 45

原创 java.lang.ExceptionInInitializerError/java.lang.NullPointerException(Tomcat浏览器500报错解决方案)

java.lang.ExceptionInInitializerError/java.lang.NullPointerException(Tomcat浏览器500报错解决方案)我利用Durid连接池连接数据库时,无法识别properties路径,原因竟然是因为:ClassLoader.getSystemResourceAsStream()方法!!!Classpath是Java中用于搜索类和资源的路径。它是由一组目录和JAR文件组成的列表。当Java程序执行时,JVM会在类路径下搜索类和资源文件,并加载它

2023-07-25 15:02:12 930

原创 java.lang.NoClassDefFoundError: org/apache/commons/dbutils/ResultSetHandler(Tomcat浏览器500报错解决方案)

这个问题大概率是因为jar包的导入出了问题,javaweb项目需要导入jar包的话,在WEB-INF中导入创建一个lib后导入需要的jar包。添加完毕之后,需要在project Structure 的Moduies 中添加依赖。我是以纯手工的方式导入jar包。

2023-07-25 11:30:01 391

原创 IDEA 2023.1.4 最新版创建servlet项目

解决两个问题:1、如何在新版idea中配置Tomcat

2023-07-24 14:38:29 1359

原创 几道Java面试题

请问上述代码的输出结果是什么?提示:提示:在Java中,==操作符用于比较两个对象的引用是否相等,而equals()方法用于比较两个对象的内容是否相等。解析:这是因为在Java中,对于使用双引号定义的字符串字面量,编译器会将其存储在字符串常量池中。当我们定义了多个相同内容的字符串字面量时,它们会被共享使用,即引用同一个字符串常量池中的对象。在上述代码中,str1和str2都是指向字符串常量池中的"Hello"字符串对象。因此,它们的引用地址相同,使用==操作符比较的结果是true。

2023-07-20 15:43:46 50

原创 JavaScript代码题练习一

因此,无论定时器的延迟时间是多少,最终输出的结果将会是5个6,而不是你所期望的结果。这意味着当定时器开始执行匿名函数时,循环的迭代已经完成,变量。每个定时器都被设置为在当前循环索引乘以1000毫秒后执行一个匿名函数。,而在它们开始执行时,循环已经结束,变量。被赋值为10,并声明了内部函数。在内部函数中,它尝试打印变量。的值为20,并返回了内部函数。因此,最终的输出结果是20。,它实际上是调用了内部函数。,它内部包含一个局部变量。函数被调用时,它使用一个。的当前值,也就是20。接着,在主代码中,将。

2023-07-19 20:01:14 75

原创 HTML+CSS的实战,一个简单的注册页面

初次学习HTML+CSS,一个简单的注册界面

2023-07-18 20:29:19 987

原创 关于使用QueryRunner数据库下划线匹配不上驼峰命名的问题

在使用使用Apache Commons DbUtils 中的QueryRunner的时候,出现了查询某些字段为null的情况,以下是我解决整个问题的方法。

2023-07-18 08:59:09 189

原创 NoSQL 是什么?

NoSQL(Not Only SQL 的缩写)泛指非关系型的数据库,主要针对的是键值、文档以及图形类型数据存储。并且,NoSQL 数据库天生支持分布式,数据冗余和数据分片等特性,旨在提供可扩展的高可用高性能数据存储解决方案。一个常见的误解是 NoSQL 数据库或非关系型数据库不能很好地存储关系型数据。NoSQL 数据库可以存储关系型数据—它们与关系型数据库的存储方式不同。NoSQL 数据库代表:HBase、Cassandra、MongoDB、Redis。

2023-07-14 20:32:03 143

原创 校园兼职项目(合作)总结

下图是代码设计和基本框架和需要用到的工具,Mysql的与java连接的驱动,以及数据库连接池国货之光——德鲁伊(druid),以及开源 JDBC工具类库Apache-DBUtils。完成该项目最大的收获就是,三层架构的实战,以及利用Git进行项目的合作,Git的操作等。

2023-07-14 20:09:07 33

原创 【逻辑题:我知道你不知道,我到底知不知道?】

1. 题目描述A 与 B 好奇问 C 的年龄,爱卖关子的 C 给出了以下 11 个数字,C 的年龄就是其中的一个:35、36、38、42、45、46、51、55、57、61、62,并且分别把年龄的十位数告诉给 A,把个位数告诉给 B。

2023-07-14 17:51:55 1074

原创 VScode官网下载过慢的解决方法

今天在VS code官网下载,发现下载的贼慢,据说是:下载太慢大部分是因为VSCODE官网服务器跟我们国内的链接速度有关,当我们去官网下载会出现下面的情况。将链接的前面部分改为vscode.cdn.azure.cn。将上面的地址放入浏览器中,一按回车,你就会发现下载很快!

2023-07-14 14:44:03 117

原创 Git操作指南

Git是目前最流行的版本控制系统之一,它为开发者提供了便捷的代码管理和协作工具。对于初学者来说,熟悉Git的操作和基本概念是非常重要的。本文将带你从入门到进阶,逐步掌握Git的常用操作和技巧。

2023-07-14 11:21:25 1000

原创 java反射机制

让我们在运行时有了分析操作类的能力,这同样也增加了安全问题。另外,反射的性能也要稍差点,不过,对于框架来说实际是影响不大的。但是我们一般是不知道具体类的,基本都是通过遍历包下面的类来获取 Class 对象,通过此方式获取 Class 对象不会进行初始化。这些都是因为你可以基于反射分析类,然后获取到类/属性/方法/方法的参数上的注解。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。

2023-07-07 20:15:57 29

原创 腾讯面试的一道思维逻辑题

有25匹马,5条赛道,每条赛道同时只能有一匹马跑,假设每匹马的水平都很稳定,在没有计时器的情况下最少需要比几场才能确定前三名。

2023-07-07 17:01:23 323

原创 关于数据库内存泄露(概念)

缓存使用不当:在数据库访问过程中,使用缓存来提高性能是很常见的做法。长时间运行的事务:长时间运行的事务(Transaction)会占用数据库的资源,如果事务没有正确处理,或者没有及时提交或回滚,就会导致资源无法释放,从而引发内存泄漏。是指在数据库操作过程中,由于某种原因导致数据库系统中的内存无法被正确释放或回收,最终导致内存占用不断增加,达到系统可用内存上限,导致系统性能下降甚至崩溃的情况。未关闭的数据库连接:在进行数据库操作后,未正确关闭数据库连接,会导致连接资源无法释放,从而占用内存。

2023-07-07 14:39:00 501

原创 学习JDBC——仅此一篇就够!?!

JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术。比较高级的定义为:JDBC是Java与数据库之间的桥梁。它提供了一种标准的方式来连接和操作数据库,使应用程序能够执行SQL查询、更新数据库、管理事务以及处理结果集等操作。java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。

2023-07-07 14:10:06 128

原创 JDBC—jar包的下载与导入

根据自己电脑的Mysql版本下载对应的版本,我的mysql是8.0.33版本,这里直接点下载就可以。下载的版本为社区版本,原因是能够应对学习需要,其次最重要的当然是免费啦!1、mysql官网下载。

2023-07-05 15:56:03 2498

原创 丑数(Java)

丑数就是只包含质因数 2、3 和 5 的正整数。需求:给你一个整数 n ,请你判断 n 是否为丑数。如果是,返回 true;否则,返回 false。分析问题:根据丑数的定义,0和负整数一定不是丑数。如果n>0,且n是丑数,我们可以将n写为:n = 2^a * 3^b * 5^c(a、b、c是幂,且是非负数)。当a 、b、c都为零时n=1;

2023-03-17 10:54:43 693

原创 java.io.StreamCorruptedException: invalid type code: AC错误解决

知道了问题出现的原因后,可以有以下几个解决方法:1. 在写入文件的时候只写一个数据(和我的小伙伴哪里学到的方法)可以将对象存入一个集合中,再将集合序列化,反序列化时也是对象集合2. 在写入文件的时候只传一个头部信息3. 不写入头部信息

2023-03-13 16:15:53 513

原创 IO流学习小结

是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等计算机要准确的存储和识别各种字符集符号,就需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有ASCII字符集、GBXXX字符集、Unicode字符集等- BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。默认值足够大,可用于大多数用途。

2023-03-10 10:22:25 135

原创 java面试题(据说下面这题99%的Java程序员都会做错!来试试看)

据说下面这题99%的Java程序员都会做错!来试试看;题目内容是继承的内容,在继承中子类和父类的构造器以及方法间的关系!

2023-03-10 10:10:00 130 1

原创 FileOutputStream写入数据时\n问题

而我们如果在记事本中输入后直接换行,在FIleInputStream中读取的时候会读取\r\n;所以在我们写程序的时候需要注意,假如你txt写入的数据是通过FileOutputStream写的,换行只是一个字符。如果用记事本写的,换行会是两个字符。之后通过FileInputStream()去读取该程序时,若我们使用byte字符数组输出,识别到的也只是一个\n。如果我们直接新建txt文件,内容也是hello换行learn,则通过上述代码读取该文件,它会多识别出\r\n。

2023-03-02 16:18:20 189

原创 File类学习笔记

解决思想:File类中并没有快速查找后缀名的方法,但是String类中有endsWith()方法,可以查找到后缀名,File 类中可以通过两个方法将文件路径转为字符串,delete()方法可以删除目录,但是目录要为空,也就是只能删除空目录,若里面有文件则无法删除,可以删除指定目录下的文件。mkdir()方法能创建的目录,mkdirs一定能创建,mkdirs能创建的,mkdir不一定能创建。例如:判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称。

2023-03-01 21:57:20 43

原创 Java集合学习小结

定义:集合是Java中的一种存储数据的容器,用来存放对象的容器。

2023-02-24 10:19:04 76

简单注册界面的背景图片

“HTML+CSS的实战,一个简单的注册页面”的背景图片

2023-07-18

Java基础语法以及注意事项

Java基本语法的思维导图,需要下载xmind才能查看

2022-12-29

空空如也

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

TA关注的人

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