- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 redis结合lua实现秒杀
我们都知道秒杀是一个高并发,大量请求的场景,如果每次秒杀,我们都直接去操作数据库,校验库存,扣减库存,大量请求的话,数据库肯定扛不住,会出现各种问题。那怎么办?数据库虽然扛不住,但是redis能抗,所以我们可以使用定时任务,提前将秒杀商品的库存同步到redis中,每次秒杀请求,扣减redis中的库存,然后异步修改数据库的库存。
2023-03-27 19:00:00
1085
原创 MongoDB基本使用以及springboot整合MongoDB
MongoDB 是由 C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由key-value键值对组成。
2023-03-20 20:00:00
921
原创 Java递归实现抢红包,金额分配算法(Random)
递归实现红包分配,红包金额分配算法:每次分的金额是k为[1,2*m/n]之间的随机数,大部分抢红包程序都是按照这个比例算。当n>1并且m
2023-03-10 21:00:00
1327
原创 try/catch/finally的各种情况
众所周知,try语句报错,会执行catch语句,然后执行finally,以下这几种情况,看看会如何输出。
2022-11-22 19:30:00
1767
原创 WebSocket实现聊天室功能(springboot+vue3+vite)
WebSocket实现聊天室功能(springboot+vue3+vite)
2022-09-03 09:00:00
3069
4
原创 springboot项目和vue项目从零开始在服务器上打包运行,并使用nginx代理,让外网访问
springboot项目和vue项目从零开始在服务器上打包运行,并使用nginx代理,使外网可以访问
2022-06-16 09:00:16
2179
9
原创 毕设项目--博客园系统
本文主要是介绍博主所做的毕设项目---博客园系统,本系统包括四个项目,一个后端依赖包、一个后端项目代码、一个前端前台项目和一个前端后台项目,这四个项目构成了完整的博客园系统,使用到springboot+mybatis-plus+mysql+redis+vue3。
2022-05-11 20:00:00
860
原创 接口权限控制(二)
1、简介之前写了一篇关于接口权限控制的文章,那篇文章主要是对用户进行管理,针对用户是否登录来判断是否可以调用接口,这种方式的局限性太大了,无法精确地进行接口控制,本文是在原来的方法上进一步的优化,做到了对每个接口进行权限管理,只有相应的角色才能调用该接口。...
2022-04-22 15:43:01
2414
7
原创 arrayList循环使用add()方法,再put进入map中,发现map中添加了重复值的问题
描述:下面的代码,按照逻辑来说,结果应该是:{0=[2],1=[2,3],2=[2,3,4],3=[2,3,4,5],4=[2,3,4,5,6]}。但其结果实际却是:{0=[2, 3, 4, 5, 6], 1=[2, 3, 4, 5, 6], 2=[2, 3, 4, 5, 6], 3=[2, 3, 4, 5, 6], 4=[2, 3, 4, 5, 6]}Map<Integer,List<Integer>> map = new HashMap<>();L
2022-03-01 15:05:29
2963
1
原创 leetcode5 最长回文子串
题目:给你一个字符串s,找到s中的最长回文子串。例子:输入:s = "babad",输出:"bab",解释:"aba"同样也是符合题意的答案。本文使用的是中心扩散法,原理是:从当前字符开始,向两边扩散查找,找到相同的字符,说明是回文子串,不同则不是回文子串。下面代码中有两个解法,解法二是解法一的改进版。话不多说,直接上代码:public class Main { public static void main(String[] args) { String s
2022-02-27 22:00:14
152
原创 解决项目打包后,在其他项目中引入该jar包,该jar中的@Configuration和@ControllerAdvice注解未生效问题
解决项目打包后,在其他项目中引入该jar包,该jar中的@Configuration和@ControllerAdvice注解未生效问题
2022-02-07 22:00:00
4886
原创 GIT的相关命令
首先创建一个文件夹,放入需要上传的项目中的内容,检查项目中是否有.gitignore文件,有的话,就不复制这个.gitignore文件,否者会报错,因为仓库中以及存在了这个文件,会冲突
2022-01-24 09:46:40
88
原创 java实现导出数据到excel表格
java实现导出数据到excel表格依赖 <!-- 表格导出--> <!--Excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.11<
2021-11-25 14:20:31
3407
原创 JAVA 实现在list<Entity>中修改其中某个实体里面的某个属性值
JAVA 从list中修改其中某个实体里面的某个属性值最近再写一个项目的时候,遇到了这个问题,就是想要修改一个list中的具体一个实体里面的一个属性值,解决方法如下:首先,创建一个索引,用于标识要改的地方,标识到了要改的地方后,就修改该实体里面的属性值,再将这个实体替换索引的位置即可。代码实现如下:...
2021-10-24 21:49:17
6795
1
原创 数据库中的三种时间类型
Date:显示年月日,范围是1000-01-01到9999-12-31DateTime:显示年月日时分秒,范围是1000-01-01 00:00:01到9999-12-31 23:59:59TimeStamp:显示年月日时分秒,范围是1970-01-01 00:00:00到2038-01-19 03:14:07TimeStamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。底层表示是时间戳。什么是时间戳?时间戳是指时间1970年01月01日00时00分00秒起至某一时
2021-09-26 09:32:44
4074
原创 将驼峰式名称自动全变成小写的并用下划线分割
只需要将下面的注解放在需要变得类上面即可,会自动将该类的所有属性都转变@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
2021-09-26 09:26:49
406
原创 一个自己写的时间类,里面有时间类型转换、获取上周同期,根据日期推算当前周的开始日期等等功能
一个自己写的时间类,里面有时间类型转换、获取上周同期,根据日期推算当前周的开始日期等等功能具体的功能看注释import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期计算 * * @author gcp */public class DateUtil { /** * Date类型转为String * * @param dat
2021-09-22 13:28:41
238
原创 Mybatis-plus学习笔记
mybatis-plus理解mybatis-plus相当于mybatis的加强版,主要增加了一个BaseMapper的接口,这个接口中拥有一些对数据库的基本操作,当需要对数据库进行一些基本的操作时,可以直接使用BaseMapper中的方法,这样可以减少很多对数据库进行操作的代码,使得代码更简洁。首先导入依赖(pom.xml) <!-- mybatis-plus--> <dependency> <groupId>com.
2021-09-01 18:03:27
233
5
原创 Set、List、Map简析
Set、List、Map简介Set和List是Collection派生的两个子接口。Set特点:无序,元素唯一(不能重复)HashSet: 可快速查询TreeSet: 使用树结构,有序List特点:ArrayList: 随机访问,线程不安全LinkedList: 快速插入、删除Vector: 与ArrayList 类似 , 线程安全Map特点:无序,保存键值对,键不能重复,值可以重复HashMap: 线程不安全,允许键和值为空(null),默认长度为16,使用链地址法
2021-08-07 19:26:46
169
原创 String类中包含的实用函数
String类中包含的实用函数函数详情见下方代码注释,这里说一些需要注意的地方。首先,说一下字符如何反转,字符串反转使用到的是StringBuilder类里面的reverse() 方法,因此首先需要将String类型转化为StringBuilder类型 (点击查看String类型与StringBuilder类型的区别),然后使用到reverse()方法,之后再将StringBuilder转化为String。然后是length 与 length() 的区别:lengt
2021-08-06 20:41:06
562
原创 一些实用的取整函数
一些实用的取整函数Math.ceil(double a)对于a向上取整。Math.floor(double a)对于a向下取整。Math.round(double a)对于a进行四舍五入,特别注意返回的是整型。Math.rint(double a)对于a取最近的整数,与round()的返回值一样,不过返回的是double类型。演示 System.out.println("向上取整"); System.out.println(Math.ceil(11.3)
2021-08-06 20:00:48
348
原创 头像修改功能的实现
头像修改功能的实现前端修改图片按钮样式功能实现:首先设置原本的文件选择器不显示,也就是display:none;然后写下图片img标签,定义图片的大小,加一个点击事件,点击后执行隐藏了的图片选择器的功能,最后设置一个图标,在图片上面,编写事件,当时鼠标在图片内的时候,图标显示,不在的时候,隐藏,另外还要编写一个开启页面,默认图标隐藏的方法,因为刚打开页面的时候,浏览器会默认显示图标(可能是浏览器默认鼠标开始在图片内)。展示效果:点击图片后(鼠标移动到头像上,会自动出现一个修改的图标在头像上,点击
2021-08-04 20:39:49
7867
4
原创 thymeleaf与js执行顺序问题
thymeleaf与js执行顺序问题问题描述在使用thymeleaf向页面传值时,如果html页面中还写了js或者jquery来对传入的值进行操作的时候,我们会发现,通常页面无法成功进行想要的操作。解决方案通过多次试验,发现是因为js或者jquery的执行顺序的优先级比thymeleaf高,thymeleaf总是会慢于js以及jquery,因此在外面还未将数据传递过来时,就已经执行了js或者jquery代码,这样我们无法再对传过来的数据进行操作。该如何解决呢?我使用的是js的setTime
2021-08-04 19:33:55
2736
原创 String,StringBuffer,StringBuilder区别
String,StringBuffer,StringBuilder当对String类型的字符串进行修改时, 每次都相当于生成一个新的String对象,举个例子String a = “I”;当我们想要实现“I am a student”时, 即 a = a + “am” + “a” + “student”;系统会重新在堆内存中开辟三个位置分别用来存储"am"、“a”、“student”,然后再开辟一个位置来存放最后的结果,指针再指向这个堆内存地址, 再调用a的时候,,就是我们想要的结果,但是从这个例
2021-08-01 20:25:37
616
1
原创 在mybatis中#{}与${}的区别,以及一条sql中同时使用出现${}和#{}会出现的问题
先来看两个例子,假设在数据库中有一个name字段,它的类型是varchar,当通过这个字段进行查询语句时,在xml文件中可以使用where name=#{name}或者where name = "${name}"。假设在数据库中有一个id字段,它的类型是int,当通过这个字段进行查询语句时,在xml文件中可以使用where id=#{id}或者where id = ${id}。 在这两个例子中,我们可以看到#{}没有加双引号,${}在string类型的时候加了双引号。通过尝试多种数据类型后,总结发现
2021-07-30 21:19:28
3637
原创 @RequestMapping(“/view/{id}“)路径中传值
@RequestMapping("/view/{id}")路径中传值使用@RequestMapping("/view/{id}"),可以这样使用方法public ModelAndView view(@PathVariable("id") Integer id)通过传入参数(@PathVariable(“id”) Integer id),可以获取到页面上传递过来的值,广泛用于修改本行数据或删除本行数据。只需在html界面写上<a href="/product/view/${product.id
2021-07-08 20:28:08
3425
原创 idea报错Error:java: 不再支持源选项 5。请使用 6 或更高版本。
针对Error:java: 不再支持源选项 5。请使用 6 或更高版本只需要修改几个地方即可解决点击File–>Project Structure–>Project修改划红线的两个地方,改为自己电脑中安装了的jdk版本还是这个目录,点击Modules和上一步一样修改划红线部分最后点击File–>Settings–>Build…–>Compiler–>Java Compiler修改下面两个地方的jdk版本以上步骤的版本号要保持一致,做完
2021-07-08 18:30:45
2803
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人