- 博客(52)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 Kafka从入门到精通(一),看完这篇你也许就会了
消息队列–用于存放消息的组件(先进先出)程序员可以将消息放到队列中,也可以从队列中获取消息很多时候消息队列不是一个永久性的存储,是作为临时存储存在的消息队列中间件:消息队列的组件——kafka、RabbitMQ、ActiveMQkafka是一个分布式的基于发布/订阅式模式的,主要用来处理大量数据状态下的消息队列。
2023-07-12 14:16:33
352
原创 Java实现Excel模板下载
2、getClass().getResourceAsStream(" "),引号李的内容是idea中文件所在的位置,我的处于 resources/tem/addImprover.xlsx,各位自行存放!1、接口的返回 ModelAndView 就不多说了,org.springframework.web.servlet 返回的视图。DownloadView 方法。
2023-04-13 15:17:32
1055
原创 解决java.lang.NullPointerException: null异常
我们在些业务逻辑的过程中,最常犯的错误就是忽略了空指针异常,每次调接口的接口的时候都会出现。需要我们处理逻辑的时候就需要考虑到这个问题,避免后续调用接口出现空指针异常;
2022-09-22 17:26:12
5123
原创 Java数据结构与算法——插入排序
插入排序就类似于斗地主时,整理扑克牌的情况。第一次摸牌时,左收是空的,之后每次摸牌插入到左手的牌时,都会将这张牌和左手中已经排好序的牌,从右到左比较,确认这张牌该放的位置。最坏的情况(每次插入都遍历一遍已经排好序的数组):外层循环n-1次,内层循环1+2+3+…+(n-2)=(n-2)(n-1)/2次,所以最坏情况是O(n^2)平均情况为:(n^2 + n)/2,因为二次函数比一元一次函数增长快,☑️所以为插入排序算法的时间复杂度为O(n^2)最好的情况(已经有序):O(n)(2)🌟一个通俗的比喻。
2022-09-21 16:07:26
183
原创 Java数据结构与算法——选择排序
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。重复第二步,直到所有元素均排序完毕。(3) ✴️ 时间复杂度。(1) ⭐️ 算法原理。(2) 🌟 代码示例。
2022-09-20 17:20:36
152
原创 java 实现《中国象棋》游戏
中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史。由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。中国象棋是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规则简明易懂。中国象棋在中国的群众基础远远超过围棋,是普及最广的棋类项目,中国象棋已流传到十几个国家和地区。中国象棋使用方形格状棋盘,圆形棋子共有32个,红黑二色各有16个棋子,摆放和活动在交叉点上。双方交替行棋,先把对方的将(帅)“将死”的一方获胜。
2022-09-13 11:18:15
2258
1
原创 vscode拉取git代码到本地提示 在签出前,请清理存储库工作树
原因很简单,就是因为本地代码和git远程库代码存在冲突,也就是你改的文件,别人也做了修改,并且别人先于你提交了,当你再去拉取时就会发现如上提示,导致拉取失败。:就是将本地变更的代码stash起来,那么本地的代码就是没有更改的,此时就可以拉取远程仓库最新的代码了,拉取完成后再把本地的代码放出来即可。最好再去查看下自己修改的文件,看看是否有代码冲突的,如果有,就解决合并掉冲突代码。这时候会弹出一个框让你输入储藏的名字,自己起一个即可,然后储藏完成后,就会发现。选择你刚才储藏的那个名称,然后弹出储藏。...
2022-08-15 15:53:19
7619
原创 Redis学习笔记(超详细,看完必会)
当系统的并发量比较高的时候,请求会直接落在Mysql上,在中间插入了缓存Redis,所有的请求先到Redis中查,如果查到了直接返回,请求就不会落在Mysql上,减轻了Mysql的压力。一个恶意的请求,假如有3000万个请求,要查询数据id=-1的,Redis缓存中查不到数据,然后去Mysql中查,Mysql中也查不到,那么3000万个请求全落在Mysql,永远起不来服务(恶意请求,永远查不到数据)。在Redis中查不到,就去查Mysql,查Mysql结果为空,也将他添加到Redis缓存中,添加空值。...
2022-07-15 10:00:39
2776
原创 Eureka-微服务注册中心
什么是Eureka?消费者如何获取服务提供者具体信息?服务与服务之间相互调用,如果直接通过接口访问是不安全的,如果一方的地址发生变化,那么调用的一方就要修改地址,耦合性太高,所以就需要使用Eureka注册中心作为一个中间件,服务的提供者启动时将自己的信息注册到注册中心,服务的消费者只需要从注册中心拉取对应服务,就可以动态的获取提供者的ip并调用,很好的实现了解耦。如果有多个服务提供者,服务消费者通过负载均衡算法,从服务器列表挑选一个;如何检测服务提供者的健康状态?服务提供者每30秒向注册中心发送一次心
2022-05-24 10:26:31
188
原创 Java校验手机号和邮箱格式
校验手机号正则表达式:^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(16[5,6])|(17[0-8])|(18[0-9])|(19[1、5、8、9]))\d{8}$方法: /** * 校验手机号 * * @param tel 输入参数 * @return boolean * @author GJT 2022-05-11 */ @Test public static boolean.
2022-05-11 10:41:27
941
原创 Mongodb基础教程
安装:官网启动mongodb服务器:mongod修改默认端口:mongod --port 新的端口号mongodb默认的端口:27017设置mongodb数据库的存储路径:mongod --dbpath 路径 ⭐️ 连接mongodb数据库:mongo三大基本概念:数据库 database集合(数组) collection类似与SQL中的数据表,本质上是一个数组,里面包含看多个文档对象,[{},{},{}]文档对象 document类
2022-05-06 10:08:42
1129
原创 从某个时间开始获取后面的时间
public static void main(String[] args) throws ParseException { String str = "2022030120220406"; String startTime = str.substring(0, 8); String endTime = str.substring(8, 16); Set dateSet = getDateSet(startTime, endTi
2022-04-25 09:40:08
306
原创 传统Tomcat项目导入idea中需要做的一系类配置
最近上手了一个传统web项目,需要Tomcat启动,突然就忘记了怎么去进行一系列的配置,走了很多坑之后才大功告成,在这里分享一下该怎么进行操作不走弯路,一步部署成功!第一步:(皮一下)第二步: 导入项目,配置Tomcat点击 ‘+’ ,选择项目使用的Tomcat版本后,点击OK配置项目路径、端口号、jdk版本。点击OK第三步: 项目配置点击Library选择Tomcat设置源文件类型点击项目名称,新增Spring、web模块,点击Spring,点击 ‘+’ 全选中后点击.
2022-04-22 16:41:17
1531
原创 @NotNull和@NotBlank的区别
@NotNull和@NotBlank和@NotEmpty的区别@NotEmpty作用在集合上例: /** * 学生姓名 */ @NotEmpty(message = "学生姓名不能为空") private List<String> name;@NotNull作用在基本类型上例: /** * 主键ID */ @NotNull(message = "ID不能为空") private Long id;@
2022-04-19 09:49:16
3308
原创 Cause:java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList
翻译过来就是:原因:java.lang.IllegalArgumentException:无效比较:java.util.ArrayList和java.lang.String问题原因:这个情况在list集合查找数据的sql中出的问题,在接受list的时候加了判断 list!=’’ ,引起了集合与String类型的比较<when test="names!= null and names.size!=''"> and name in <forea
2022-04-01 11:50:22
4934
原创 封装判断是否为空的方法(快捷、方便)
封装判断是否为空的方法在写代码过程中经常需要判断一个集合或者取出来的值是否为空,既需要判断是否是空字符串又需要判断是否是null,很麻烦。在这里我提供了一个方法,里面封装了判断空字符串和是否为null的判断,十分简单,可以作为一个公共的方法,哪里需要直接调用即可!public static boolean isEmpty(Object pObj) { if (pObj == null) return true; if (pObj == "")
2022-03-10 09:43:13
563
原创 取出集合中重复的第一个值
取出List集合中重复的第一个值需要对集合判断是否有重复值时该怎么取这个值?List<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");list.add("3");list.add("4");list.add("4");list.add("5");list.add("5");Set<String> set = new HashSet<>
2022-03-09 17:35:45
936
原创 解决 UnsatisfiedDependencyException 异常,避免走过的坑
原因:出现这个异常往往是没有找到Bean的实例而导致。解决:首先查询service层是否全部添加@Service注解;如果没有问题就查看每一层之间的对应关系,Mapper层和xml之间是否能对应;查询xml中配置是否正确,字段是否映射完全;最后查看是否全部被启动类上的注解路径全部扫描到,查看创建的包名称是否有错误!...
2022-01-19 17:58:38
18081
3
原创 SpringCloud快速入门
一、什么是SpringCloudSpring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护
2021-12-12 16:53:54
564
原创 你还在使用@AutoWired注入吗?
Spring的注入方式有很多种,不知道你是否还在使用早之前的@AutoWired注入?最近我新学习到了一种注入方式**@RequiredArgsConstructor**@RequiredArgsConstructor 注解作用在类上使用:@service@RequiredArgsConstructor public class Customer{ //注入 private final CustomerMapper mapper;}就可以直接使用了,是不是很简单。而且使用@AutoW
2021-12-08 21:03:24
2670
原创 idea类、方法注释模板 [美观、规范]
在编写代码时,总会要求在方法或者类上添加注释,一是为了提高代码书写质量,便于清楚地认知该类或者该方法的作用什么,是干什么的;二是为了使代码看起来更加美观;所以要使用注释模板,更好的对方法进行描述。类注释模板修改位置:模板: /** * * @author user * @date ${DATE} ${TIME} **/作者:user 可以改为你自己的名字方法注释模板修改位置:在Java右侧的 + 可以创建一个新的模板,我这里为 * 描述为method模板: *.
2021-11-18 14:51:20
546
原创 Maven项目打包后使用cmd命令运行
Maven项目打包我们使用的是在pom.xml中插件的配置,然后再Idea中打包成jar包在Pom.xml中添加插件配置项目打包插件 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi.
2021-08-12 14:53:04
3128
原创 Springboot实现用户登录功能+Kaptcha验证码
文章目录用户登录功能实现一、Pom文件导入相关依赖二、application.yml配置文件三、总目录结构1.CodeUtil验证码校验2.UserController3.登录页面四、用户登录效果图用户登录功能实现前提: 使用Maven项目管理工具,创建Springboot,创建启动类,配置文件Kaptcha使用介绍: 快速上手使用Kaptcha一、Pom文件导入相关依赖依赖:springboot、Mysql、Mybatis、Lombok、Kaptcha、<parent>
2021-08-11 14:37:14
482
原创 Kaptcha验证码的使用
Java具体学习内容,请移至: JAVA每天进步一点点验证码的作用验证码在我们的生活中可谓是随处可见,用户校验、用户登录…,有时候我们觉得验证码很麻烦,太过于繁琐,那么为什么还要使用验证码呢?验证码的作用?有效防止黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试。防止机器大规模注册,机器暴力破解数据密码等危害。防止个人信息的大量丢失正是因为添加了验证码验证,才使得我们的大量操作得以安全的进行、才使得我们的系统能够正常运行,虽然登录麻烦了一点,但是还是必不可少的。.
2021-08-10 15:39:53
1019
原创 Spring boot整合Hibernate实现CRUD
前言!我们在前面学习过Mybatis后,搭建起了SSM框架,很多小伙伴在一些招聘网站上看到一些技能要求是掌握SSH框架,所谓的SSH框架就是Spring+SpringMVC+Hibernate。实际上Hibernate是很容易上手的,我在看了一篇文章后就利用Spring Boot 整合了Hibernate!看完这篇文章代码直接复制,立马搭建!!什么是Hibernate?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映
2021-07-19 09:38:25
613
原创 SpringCloud和Dubbo的比较
Dubbo一、dubbo简介Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。详见官网:https://dubbo.apache.org/zh/二、dubbo组织架构图节点角色说明Provider暴露服务的服务提供方Consumer调用远程服务的服务消费方Registry服务注册与发现的注册中心Monitor统计服务的调用次数和调用时间的监控中心C
2021-06-28 17:56:28
243
原创 Spring Boot基础讲解(Spring进阶必看!!)
进阶Spring:Spring Boot前言之前的文章指出掌握Spring、SpringMVC、Mybatis是进入公司必须具备的条件,有很多同学在学习完SSM框架后想进阶学习,那么下一步的学习就应该从Spring Boot开始学习,掌握原理、了解内容,脚踏实地的从这里开始!文章目录进阶Spring:Spring Boot前言一、Spring Boot简介1.Spring Boot 是什么?2.Spring Boot 的优点3.Spring Boot的缺点二、第一个Spring Boot项目
2021-06-21 19:07:16
398
原创 List、Map、Set三个接口,存取元素时,各有什么特点?(大厂面试题)
List、Map、Set三个接口,存取元素时,各有什么特点? &nb
2021-06-03 11:02:38
254
原创 IDEA插件特效
IDEA插件特效在我们敲代码的时候经常很枯燥无聊,下面是一款idea特效的插件,没有什么实际的用处,可以改变一下心情。1. File -> Settings… -> Plugins输入 power mode,点击 installed安装完成重启idea,再敲代码就有特效了,如下在这里我们可以根据自己改变特效在这里插入图片描述...
2021-05-10 14:36:44
692
原创 js获取当前时间
js获取当前时间不管是在前端还是后端的时候,有时候需要获取到时间下面就是一个简单的方法来获取当前系统的时间!//获取当前时间并设置格式function getNowTime() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (mon
2021-05-01 14:19:43
137
文件导入BigDecimal 类型的字段,上传失败,报这个错,怎么办?
2022-02-11
Springboot定时任务
2022-01-03
Springboot项目定时任务
2022-01-02
Spring boot项目,启动就报的这个错,有没有人来指导一下?
2021-09-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人