- 博客(51)
- 收藏
- 关注
原创 java中的全局异常处理
对于一些运行时异常,由于系统出现一些未知异常时,不可能直接将报错信息返回给用户看,所以在系统中需要一个统一处理异常的地方,当程序出现异常时全局异常处理将会捕捉到异常随后执行返回统一的错误结果。
2025-01-09 16:09:40
286
原创 Redis的过期提醒功能
2)有了存储数据的地方,自然也需要监听者了,创建一个redis监听配置类(这里有注释的部分,因为对于我们的系统设计来讲不可能所有的key过期都执行同样的业务逻辑所以设计了多个,核心业务逻辑是只监听key中包含某个字符的)方法1的弊端:定时任务的执行时间很难界定,如果1分钟执行一次那就代表要每隔1分钟都要去访问数据库,如果时间设置的过长那么数据也很难统计真实性,不是实时的数据。方法2的弊端:如果在用户长时间未登录的情况下,那么就一直不会更改其状态,很难统计数据的真实性,不是实时的数据。
2025-01-09 14:31:27
319
1
原创 rabbitmq相关使用
如果把 Thread.sleep(5000);写在send中,请看执行时长(5474ms)如果把 Thread.sleep(5000);写在监听者中,请看执行时长(130ms)上面的 Thread.sleep(5000);这样的话即实现了异步执行,也会减少代码之间的耦合度。
2024-12-25 16:43:36
715
原创 使用AOP打印日志
若在每次想打印日志的地方都加上log.info("")的话,代码冗余,不好更改,我们要打印的日无非就是请求的参数、请求的地址、请求的方法基于这种思想:可以使用AOP切面编程来完成。
2024-12-12 11:30:03
159
原创 运行报错time zone value ‘�й���ʱ��‘ is unrecognized
完整:url: jdbc:mysql://localhost:3306/db_more?可以在application.yml 配置文件中给url加上serverTimezone=UTC。这个问题是myslq的时区问题。
2024-12-12 11:11:52
418
原创 怎么把项目提交到git上
2)git remote add origin 远程仓库地址 将本地文件夹与远程仓库关联。5)git push origin master 将本地仓库推送到远程仓库。1)git init 会出现一个.git文件夹说明仓库初始化成功。3)git add. 将所有文件添加到暂存区。4)git commit -m '' 提交。2、在本地的项目中打开git bash。然后在gitee上就能看到此项目了。1、在gitee上新建仓库。
2024-12-02 17:43:39
447
原创 前端使用menu时,不刷新问题
在使用menu时多次跳转同一页面不走我们的钩子函数,在menu菜单下面会有一个router-view。1、在router-view标签中加上key值。2、新增钩子函数computed对key做操作。
2024-12-02 17:32:07
262
原创 生成二维码vue2
6、imagesUrl变量需要再data中定义并且给二维码中间的图片复制。4、在页面初始化时就调用该方法。3、声明生成二维码的方法。2、引入插件在页面上。
2024-11-28 15:17:31
457
原创 Flex弹性布局
3、flex-flow属性是flex-direction属性和flex-wrap属性的简写,默认为row nowrap。flex是w3c提出的,可以简便、完整、响应式地实现各种页面布局,目前,它已经得到了所有浏览器的支持。6、align-content属性 定义了多轴的对齐方式,如果项目只有一根轴线,该属性不起作用。Flex是Flexible Box的缩写,意为弹性布局,用来为盒状模型提供最大的灵活性。1、flex-direction属性 决定主轴的方向(项目的排列方向)
2024-09-24 10:16:32
304
原创 阿里云身份证二要素详细使用
AliIdCardReturnAddress类是我自己封装的(根据阿里云提供的代码进行封装的)可以有一个实体类来接收返回结果 这样就可以选择获取哪个数据,可以使用json在线解析。4、接下来看文档具体调用(在请求示例中有选择语言的代码 我选择的就是java)AliIdCardReturnAddress类中的getAddress方法。* HttpUtils请从。HttpUtil从网站上下载(阿里官方提示的)* 相应的依赖请参照。6、接下来就可以运行代码看结果。3、我选择的是下边这个。Controller层。
2024-09-02 15:50:06
887
原创 Idea插件
(在mapper.java和xml中可以点击这个小鸟来实现跳转 很方便)(这个插件堪称作弊神器 有自动补全功能)(git的可视化管理)
2024-08-29 09:22:00
251
1
原创 Git使用教程(小白也能看懂)
(还有就是gitee账号。建议养成的习惯 每天早上上班来就先拉新一下。推自己的代码之前一定要先拉新一下。若自己的代码和同事写的代码冲突了。
2024-08-29 09:17:35
581
原创 explain工具分析
这一列显示了在key列记录的索引中,表查找值所用到的列或常量,常见的有:const(常量),字段名(例:film.id)id列的编号是select序列号 有几个select就有几个id 并且id的顺序是按select出现的顺序增长。出将要和 explain 中前一个表进行连接的行数(前一个表指 explain 中的id值比当前表id值小的表)这一列显示了mysql在索引里使用的字节数,通过这个值可以算出具体使用了索引中的哪些列。5) union 在union中的第二个和随后的select。
2024-08-28 10:24:03
864
原创 数据库表的nb3和sql后缀的处理方式
你想把这个表加到哪个库下就选择 右键备份 -- 还原备份从 -- 选择后缀是nb3的文件。右键你选择存放的数据库 -- 运行sql文件 -- 选择后缀是sql的文件。后缀是sql的话就直接运行sql文件 就可以把数据库添加到本地了(像这样)如果同事给你了一个后缀是nb3的话 那么就需要你去还原了。这样就可以把那个nb3的表还原啦。
2024-08-26 10:33:21
1470
原创 新手如何使用navicat
4、在库下建表(字段写完之后 保存 输入表名 后边的注释是非常有用的 有助于别人看懂你的表)3、建库(一般我会选择 utf8mb4字符集)2、输入用户名 密码 (注意一定要正确)1、首先新建mysql连接。
2024-08-26 10:25:27
231
原创 导入导出常见的空指针异常NULLPointException
不确定excel文件里的单元格类型 可以使用row.getCell().getCellTypeEnum() 去判断是什么类型。若要把从数据库查询出来的数据导出到excel表格中 要先判断内容是否为空。使用row.getCell()方法去判断是否为空 若不为空再获取。
2024-08-20 17:57:50
179
原创 阿里云图片前端不展示问题
我怀疑过是标签的问题,路径过长的问题,后来排查发现都不是,最后在网上看到一个方法是在index.html上加。抱着试试的心态,加上就成功了。
2024-08-09 11:06:24
143
原创 导入文件只能导入xlsx格式,xls异常问题
导入文件,我创建工作簿对象的时候就直接用的XSSWorkbook对象,后续在测试的时候发现只能导入xlsx格式,不能导入xls格式的文件,后来经过查阅发现是工作簿对象的原因,使用XSSWorkbook无法接收并解析xls格式的文件,查资料后发现xls格式的需要HSSWokbook对象来接收,后面就做了判断看文件的后缀是什么就选择什么样的方式。改后的代码(测试后可以正常使用)
2024-08-09 10:59:16
441
原创 面试题总结
是java8之后引入的一个类,它可以解决异步执行任务和处理异步任务的结果,异步编程,CompletableFuture可以优化系统的性能和响应速度,可以将线程进行一个异步处理,等到异步任务执行之后会触发一个回调方法,可以在回调方法去看异步执行的结果,优化了future了阻塞等待问题 提供了thenapply thenaccept thenrun。
2024-07-05 09:39:00
986
原创 Redis
redis为我们提供了五种数据类型,像string、hash、set、list、zset,数据存储在内存中,并且在数据结构中做了大量优化,所以IO性能会比较好,在项目中,我们经常在应用和数据库之间的一个缓存中间件,由于数据存储在内存中,也存在安全隐患,如果服务器突然宕机,那么我们内存中的数据就会丢失,然后redis不会容忍存在这种错误的,redis为我们提供了两种持久化方式。击穿问题,刚好查询的时候缓存中的数据大量过期,导致大量的请求都去mysql查。redis命令的执行是单线程的。
2024-05-14 16:39:48
463
原创 JAVA集合详细讲解和线程安全
那么什么是线程安全呢,所谓线程安全就是内存安全,如果有多个线程共享一块区域那么一定会存在安全问题,我们可以使用加锁的方式来处理线程不安全问题,也就是说AB共享同一个时,当A在未完成自己的操作时B不能抢占资源,要等A线程处理完自己的会进行锁的释放,这时B才能来修改数据。set集合:元素不可重复,无序。就比如默认长度16*加载因子默认0.75=12,那么当存放第12个数据时,就会触发扩容机制,扩容为原来长度的两倍,也就是32个,是重新生成了一个数组而不是在之前的16之后加了,并把原来的数据拷贝过去,
2024-04-07 14:46:05
518
1
原创 基于前后端分离技术做增删改查操作(SpringBoot+Mybatis Plus+Vue)
通过SpringBoot后端项目,mybatis plus,和前端Vue来实现前后端分离技术。
2024-03-12 16:32:53
2738
4
原创 Java面试题(主要分清区别!!!)
不同点:@AutoWired是spring框架提供的,默认按照类型装配,@Resource是java自带的(jdk1.6版本开始支持的),默认根据名称装配,如果匹配不到,则继续使用根据类型装配。@Bean比@Component注解的自定义性更强,而且很多地方我们只能通过@Bean注解来注册bean,比如当我们引用第三方库中的类需要装配到spring容器中,则只能通过bean来实现。FactoryBan是一个bean的生成工具,是用来获取一种类型对象的bean,它是构造bean实例的一种方式。
2024-03-10 19:53:22
697
原创 spring常见面试题
DI是一种设计模式,通过在对象之间注入依赖关系,而不是在对象内部创建它们来解耦对象之间的依赖关系,依赖注入就是将IOC中存储的对象取出并使用的形式。springmvc是spring基础之上的mvc框架,主要处理web路径映射和视图渲染,属于spring框架中web层开发的一部分。控制反转,是一种设计模式,将对象的创建、配置、管理交给spring容器来完成,ioc容器实际上就是一个Map,存储的就是各种对象。spring jdbc:提供了jdbc的抽象层,消除了繁琐的jdbc编码,简化了jdbc。
2024-03-08 11:01:16
1039
原创 SpringBoot运行原理(超详细!!!面试必考)
SpringBoot是基于spring框架的快速开发工具,能够自动配置spring和第三方库,简化了Spring开发和部署,springboot是spring框架的扩展,但是更加简单、快速、灵活。那么问题来了:springBoot框架中有哪些内容简化了这些配置,提供了开发效率呢?(往下看,别急)我们都知道想要启动SpringBoot就要拥有一个启动类,那这个启动类中都有哪些内容呢在上面这块代码中,你们都注意到了哪些内容?
2024-03-05 14:31:37
511
原创 spring、springmvc、springboot框架的介绍
我们已经学过Spring,SpringMVC,SpringBoot了,那这三者之间有没有联系或者区别呢?spring是一个一站式的轻量级java开发的框架,那我们刚开始使用spring的时候,是需要配置很多的配置文件以及繁琐的过程才可以使用,那对于程序员来说开发就比较头疼了,spring的核心主要是控制反转(IOC)和面向切面(AOP)springMVC是在spring框架基础之上的一个MVC框架,主要处理的就是web开发路径的映射以及视图渲染,属于spring框架中WEB层开发的一部分。
2024-03-01 15:24:15
995
原创 购物车系统(内附完整代码)
效果图在最下面😊😊😊😊😊😊😊😊关注一下叭❤❤❤❤便利店系统,主页面如下:😊😊😊😊😊😊😊😊😊😊😊😊😊😊❤❤❤❤😊😊😊😊😊😊😊😊😊😊😊😊😊😊 user 用户表(用户id,账号,密码,金额)category 商品分类表(商品分类id,分类名称)product 商品表(商品id,商品名称,商品价格,库存,商品图片,过期时间,商品分类外键id)gouwu 购物车表(购物车id,商品id,商品数量,用户id)😊😊😊😊😊😊😊😊😊😊
2024-01-08 19:47:25
806
原创 JAVA面向对象
(1)类是对一类事物的描述,是抽象的。(2)对象是一类事物的实例,是具体的。(3)类是对象的模板,对象是类的实体类中的成员变量也就是俗称的属性,而类中的成员方法也就是行为如下,学生的行为有吃饭、睡觉,而属性有学号、姓名、年龄1、重载发生在同一个类中2、方法名相同3、参数类型、顺序、个数不同4、与返回值和修饰符无关1、重写发生在子父类中2、方法名和参数列表必须相同3、有@Override这个注解就说明该方法是重写的。
2024-01-08 15:53:07
347
原创 java面试题
concurrentHashMap是线程安全的HashMap,内部采用了分段锁的策略,主干是一个segment数组,通过继承ReentrantLock来进行 加锁,所以每次锁住的都是一个segment,这样只要保证每个sagment是线程安全的,也就实现了全局的线程安全,一个sagment就是一个子哈希表,默认有16个segment,所以理论上,只要它们的操作分布在不同的sagment上,最后可以同时支持16个线程并发写。2、ACK确认机制、是消费端消费完成要通知服务端,服务端才把消息从内存删除。
2024-01-01 19:19:10
386
原创 Java字符串简介及用法(小白必备)不看后悔系列
字符串就是很多单个字符拼接起来的字符串,java为我们提供了String对象来创建字符串,String是一个类(引用类型),相同我们也可以调用这个类的所有方法,java主要就是强调面向对象,利用对象实现想要实现的功能。
2023-12-29 20:36:54
482
1
原创 Ajax用法以及简单介绍
我们默认点击提交的时候值时true是可以提交的,那换一个思路当我们把值改为false是不是就不可以提交了,那我们可以定义一个变量flag,当有重复的数据把flag标记为false,否则就标记为true。说到这里ajax写完了,但是我们是不是忽略一个问题,当我们姓名重复时提示了不可重复,但是还是可以点击添加进行添加的,所以我们可以加一个当姓名重复时不可以点击提交按钮进行提交。要先获取到当前文本框所输入的内容,然后拿当前文本框输入的内容和数据库表中的名称去判断,如果存在就提示“已存在,不可添加”。
2023-12-27 10:52:19
880
1
原创 在service中爆红的问题
1、爆红是对我们的整合项目是没有影响的,但是为什么要处理,因为我强迫症!看见爆红就像解决,对于程序员来说,爆红就是致命问题(反正我是这样^-^)在上一篇的spring框架代码整合中提到了在service层通过@Autowired注入值会爆红,提到了简单的解决方案,这一篇详细介绍一下。① 在mapper层加入注解@Repository。② 将@Autowired改为@Resource。2、我所知道的并且有用的方式有两种。还有什么别的办法吗,一起学习学习。
2023-12-25 20:35:01
732
原创 关于java常见的面试题(内附26道)上
Java中的集合主要分Map接口和Collection接口一、Collection是单列集合,它的子接口包括:List 接口:存取有序、元素可以重复、有索引值,可以使用增强for、迭代器、普通for遍历1.1 List接口常用实现类有:ArrayList、LinkedList、Vector;2、Set 接口:存取无序、元素唯一,可以使用增强for、迭代器遍历2.1 Set接口常用实现类有:HashSet、TreeSet、LinkedHashSet;
2023-12-25 19:56:48
900
1
原创 Spring框架父子工程的整合
Spring的技术包括:控制反转&依赖注入、面向切面编程、spring事务管理、通过spring集成其他框架 等等……(现在说这些也都是概念级的,后面详细了解即可)
2023-12-25 15:59:51
1308
1
原创 Map集合基本操作
创建Map集合,Map集合和Collection集合的区别(点击进入查看)查看了之前的博客就知道了Map是双列集合,而Collection是单列集合,双列集合顾名思义就是有两列数据(键值对),每个map集合都是由一个键值对来存储的,其中,划重点:键是唯一的,值可以重复。创建Map集合的目的就是存数据和取数据,包括对集合进行一些操作,上篇讲到了map集合的增删查,今天来学习基本知识。2、往集合中添加元素。3、从集合中取出元素。
2023-08-31 20:27:24
208
java+git使用教程+git新手教程+版本控制系统git
2024-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人