自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

codeccb

在校大学生,编程菜鸟

  • 博客(177)
  • 收藏
  • 关注

原创 接口幂等性防止重复操作

https://mp.weixin.qq.com/s/Ea6W2KCq-bSb1FM75wHgAwhttps://mp.weixin.qq.com/s/Uq5sQN94VIStIj0UiG-r_g

2023-09-11 11:09:30 116

原创 Vue_vuex

state:存储数据mutations:修改数据,不能执行异步操作action:操作mutations,可以任意执行异步操作getters:操作state中的数据,并在getters方法中单独缓存,响应式,类似计算属性computedmodules:把store中的数据和方法分成模块读取store数据```html state stat...

2023-09-03 21:44:05 112

原创 Vue_路由

安装:npm i vue-router -S this.$route:当前组件对应的路由 this.$router:全局路由对象 动态路由jsconst router = new VueRouter({ routes: [ // 动态路径参数 以冒号开头 { path: '/user/:id', component: User } ...

2023-09-03 21:43:02 115

原创 Vue_axios

get请求jsaxios.get("/findAll?name=xiaochen").then(function(response){ console.log(response.data);}).catch(function(err){ console.log(err);});post请求javascriptaxios.post("/user/save",{...

2023-09-03 21:41:48 74

原创 Vue_组件

数据传递*父传子 * props:只能是父组件向子组件传递数据```html {{item}} num++ ```子传父 通过自定义事件传递数据,语法:```javascript子组件自定义事件 this.$emit('getMsg',msg,bill)父组件接收事件并处理 <子组件 @...

2023-09-03 21:40:54 20

原创 Vue_基础

安装安装脚手架 VueCli:卸载旧版本:cnpm uninstall vue-cli -g,安装:cnpm install -g @vue/cli查看安装的VueCli版本:vue --version创建Vue项目:vue create 项目名 (项目名不能驼峰、不能中文)基础v-text、v-html 指令会干掉标签里的内容v-if:元素销毁和重建实现是否显示...

2023-09-03 21:39:51 24

原创 数据结构

二叉树基础二叉排序树BST:左子树 < 根节点 < 右子树平衡二叉树AVL:在BST基础上有自己的插入fixup、删除fixup方法,左右子树严格平衡,高度差不超过1红黑树:在BST基础上有自己的插入fixup、删除fixup方法,左右子树不严格平衡,根节点黑色,任意相邻结点不能是红色 B树:一个节点可以有多个关键字且可以有多个孩子的树。每一个元素在该树中只出...

2023-08-26 19:43:56 22

原创 SpringBoot参数校验(二)

分组校验需求:保存用户时,id可以为空;更新用户时,id不能为空定义两个接口public interface Save {}​public interface Update {}定义需要校验的对象public class User implements Serializable{ // 约束注解上声明分组信息groups​ @NotNull(gro...

2023-08-26 19:32:57 26

原创 web布局之flex

作用在整体flex-direction:row | column | row-reverse| column-reverse justify-content:项目群在主轴的对齐方式flex-start flex-end center space-between space-aroundalign-items:项目群在交叉轴的对其方式flex-start flex-...

2023-08-08 23:02:28 20

原创 rabbitmq死信队列

使用rabbirmq死信队列作定时任务发送消息```java@GetMapping("/ttlToDead")public String ttlToDead() { System.out.println("=============访问死信队列接口============");Map<String, Object> map = new HashMap<&...

2023-08-06 23:32:18 31

原创 rabbitmq消息防丢失

发送时失败propertiesspring.rabbitmq.publisher-confirm-type=correlatedspring.rabbitmq.publisher-returns=true消息发送给交换机后会触发confirm方法,无论有没有到达交换机```java@GetMapping("push")public boolean push(){Use...

2023-07-27 15:28:25 61

原创 rabbitmq基础

安装教程:https://blog.csdn.net/tirster/article/details/121938987安装后访问:http://127.0.0.1:15672,账号密码:guest/guestDirect Exchange:直连交换器,该交换器将消息发送到指定的队列上,一对一Topic Exchange:通配符交换器,*用来表示一个单词 (必须要出现的),#用来表...

2023-07-27 13:15:54 23

原创 基于Servlet+JSP自实现的MVC模式

转发自:https://juejin.cn/post/7243615443247972411

2023-07-19 23:07:37 27

原创 java本地缓存工具类

使用ConcurrentHashMap实现本地缓存,工具类如下:```javapublic class LocalCache {// 默认缓存时长, 单位秒private static final int DEFAULT_TIMEOUT = 3600;// 默认缓存容量private static final int DEFAULT_SIZE = 1000;// 存储数据pr...

2023-06-24 15:16:29 220

原创 redis缓存一致性

先找到在并发情况下能够保证数据一致性的解决方案,以保证业务可用,再确保操作数据库和缓存都不会失败,没有一种方案能够保证强一致性,只能在兼顾性能的情况下尽可能保持数据一致性解决方案先更新数据库,后删除缓存(推荐)这种方案只尽可能保证数据一致性,但要确保第二步删除缓存成功,可以通过消息队列实现java@RequestMapping("/cache/db/delete")@PutMa...

2023-06-13 00:42:51 28

原创 mongoDB快速入门

安装下载地址:https://www.mongodb.com/try/download/community概念对比| SQL概念 | MongoDB概念 | 解释/说明 || ----------- | ----------- | ----------------------------------- || databas...

2023-06-12 19:35:19 27

原创 sql函数

CONCAT():拼接字符串,应用:模糊查询sqlCONCAT('%',#{cardName},'%')DATE_FORMAT():格式化时间sqlSELECT DATE_FORMAT(service_time, '%Y-%m-%d %H:%i:%s')FIND_IN_SET(value, string_list):在逗号分隔的字符串中查找指定的值sql-- 在orde...

2023-06-11 16:20:01 24

原创 Nginx负载均衡配置

命令启动nginx:nginx重启nginx:nginx -s reload停止nginx:nginx -s stop检查nginx配置是否正确:nginx -t配置```shell工作进程数worker_processes 1;工作进程数events { worker_connections 1024;}http {upstream ...

2023-06-10 20:54:01 22

原创 MySQL索引失效场景

where条件下索引失效使用了关键字or索引字段使用了关键字like,且以 %开头去匹配数据索引字段使用了负向查询,如:!=、<>、not in索引字段使用了表达式/运算,如:select name, age from user where age + 1 = 18;索引字段发生了类型的(隐式)转换,如:使用字符串去匹配 int 类型的索引字段其他复合索引中,...

2023-05-20 17:14:19 21

原创 redis分布式锁

概念Redis实现分布式锁的基本流程如下:加锁时设置锁唯一标识和过期时间操作共享资源释放锁:先GET判断锁是否归属自己,再DEL释放锁Redisson这个jar包把上述都做好了,能够保证原子性,它会开启一个守护线程定期检测任务是否完成,没有完成则给锁续期引依赖java<!--redission相关--><dependency> ...

2023-05-19 22:22:36 23

原创 xxl-job快速入门

调度中心安装下载xxl-job:https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job注意不要 clone 最新的 master 分支代码,master 是正在开发的,应该点击 Releases 进入发布页面下载稳定版本,下载下来的源码如下(doc:该文件夹中包含"数据库"建表脚本,将这个s...

2023-05-17 23:03:13 29

原创 其他命令

cmd查看进程端口号:netstat -aon|findstr "端口号"查看进程名称:tasklist |findstr "进程id号"nvmnvm lsnvm list availablenvm install 版本号nvm uninstall 版本号nvm use 版本号npm安装:npm install -g 包名卸载:npm unins...

2023-05-06 10:54:08 14

原创 SpringBean生命周期

2023-03-02 17:52:05 62

原创 RabbitMQ快速入门

安装安装教程:https://blog.csdn.net/tirster/article/details/121938987 安装完成后输入:http://127.0.0.1:15672进入控制台交换机Direct Exchange:直连交换器,该交换器将消息发送到指定的队列上,一对一 Topic Exchange:通配符交换器,*用来表示一个单词 (必须要出现的),#...

2023-02-27 19:03:47 76

原创 @Async实现异步

创建线程池,并启用 @EnableAsync ,为线程池起个名字java@Configuration@EnableAsyncpublic class ThreadPoolConfig { @Bean("taskExecutor") public TaskExecutor pool(){ ThreadPoolTaskExecutor executor = new Th...

2023-02-24 18:51:08 98

原创 Redis快速入门

基础Redis常用的数据类型:String、Hash、List、Set、zSetstring:set mykey "new-value"list:lpush mylist "foo",可以从左边或右边添加元素,hash:hset website google "www.g.cn"set:sadd myset "hello"sorted set:zadd my...

2023-02-24 18:24:50 82

原创 SpringBoot使用过滤器、拦截器、切面及其之间的区别和执行顺序

转发自:https://mp.weixin.qq.com/s/YQgLJHT5ILkYr0MCYWj_Zg

2023-02-19 22:01:10 172

原创 HashMap与ConcurrentHashMap

HashMapHashMap是数组+链表+红黑树实现(红黑树:能够保证平衡的二叉查找树)当HashMap中元素个数超过 数组大小*loadFactor 时就会扩容。默认数组大小Capacity为16,每次扩容就把数组大小扩大一倍;loadFactor为负载因子,默认为0.75,负载因子的大小决定了HashMap的数据密度当HashMap中一个链的对象个数达到8个,并且数组容量cap...

2023-02-16 18:06:16 43

原创 Spring循环依赖

http://t.csdn.cn/V6bJV

2023-02-03 16:34:42 34

原创 Pattern和Matcher

```javapublic static void main(String[] args) { Pattern p = Pattern.compile("(\d+)([A-Z]+)"); // 分成了两组:数字和字母 Matcher matcher = p.matcher("33HH44JJ");// 整个字符串都要匹配正则表达式才为true // ...

2023-02-02 11:00:10 78

原创 Excel之XLSTransformer

前言利用该工具类可以向excel模板中写入数据,而不用写过多代码画excel引入依赖java<dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.3</v...

2023-01-25 18:01:18 669

原创 Excel之Apache POI

基本概念Apache POI是用来处理Excel文件的,Excel中的概念和Poi对象关系如下:| Excel中的概念 | Poi对应的对象 || ---------------- | ---------------------------------------- || Excel 文件 | HSSFWorkbo...

2023-01-25 14:15:46 81

原创 git撤回已经push到远端上的代码

快速使用查看提交版本记录shellgit log回退代码shellgit reset --hard 要回退的版本号强制提交到远程shellgit push origin 分支名 --force // 一定要加最后的--force 参数,否则会提交失败 soft mixed hard区别soft:回退后,之前的东西都还在,被add了mixed:...

2023-01-21 18:29:19 294

原创 git分支重命名

本地分支重命名shellgit branch -m oldBranch newBranch如果没有将分支推送到远程,只需执行上一步,后面的操作针对已推送到远程的分支删除远程分支shellgit push --delete origin oldBranch上传新命名的本地分支shellgit push -u origin newBranch相关文章:http:...

2023-01-21 17:25:41 47

原创 Java接口中的default(默认方法)

特点default方法可以有方法体接口中的普通方法必须被实现类重写默认方法可以不被实现类重写作用当我们进行业务扩展时,需要在接口中新增方法时:如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法;如果新增的方法定义为default类型,就不需要在所有的实现类中全部重写该default方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现,...

2023-01-12 10:51:12 2129

原创 SQL

基础where中不能包含聚合函数having筛选分组后的记录,having中可以包含聚合函数UNION:合并两个或多个select语句的结果,UNION只会选取不同的值,UNION ALL用来选取重复的值char表示固定字符串,该类型的字段存储空间的固定的,会浪费存储空间varchar表示变长字符串,该类型的字段存储空间会根据实际数据的长度调整,不会浪费存储空间exists...

2023-01-07 19:12:37 53

原创 stream之predicate

```javapublic class Main {private static final Predicate<Student> predicate;static { HashSet<Integer> myset = new HashSet<>(); myset.add(1); myset.add(2); myset....

2023-01-06 18:27:42 272

原创 SpringDataJPA快速入门

引入依赖java<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>配置```properties...

2022-11-27 19:47:25 62

原创 HashMap

HashMap的key为对象时,必须重写对象的hashcode()和equals()方式,因为判断对象是否重复时,先判断对象默认的hashcode方法返回的是对象的内存地址由哈希算法转换成的一个整数,哈希算法具有一定的偶然性,不同的内存地址可能计算出相同的哈希值hash值,若相等再判断equals方法 @EqualsAndHashCode(callSuper = false):默认只使用...

2022-11-27 15:21:43 52

原创 图床

2022-11-06 23:44:57 61

空空如也

空空如也

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

TA关注的人

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