自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Java 多线程在项目中的实战应用

当我们在项目遇到一次 IO 密集型的操作,会进行大量的数据库查询,我们可以考虑使用多线程来解决这个问题。

2023-04-26 13:32:29 757

原创 ReentrantLock 源码详解

ReentrantLock 是 Java 并发包中提供的一种可重入锁,它比 synchronized 更加灵活,可以支持公平锁和非公平锁,同时还提供了一些高级功能,例如可中断、可限时等特性。

2023-04-18 13:39:06 174

原创 SpringBoot 项目通过 HttpServletRequest 获取 body 内容

@PostMapping("/test") public void test(HttpServletRequest httpServletRequest) { // 获取内容长度 int length = httpServletRequest.getContentLength(); // 新建缓存存放读取数据 byte[] buffer = new byte[length]; ServletInputStream in = null

2022-03-08 16:15:47 3764

原创 关于 Spring Cloud 全局异常处理的问题

最近在将公司项目改为 Spring Cloud,其中涉及到了全局异常处理的问题记录一下。全局异常处理是通过 @RestControllerAdvice 这个注解完成的,这里就不在阐述。首先我的全局异常处理是放在公共模块,然后通过 maven 引入各个微服务中但是,这样的话是不会生效的,我们需要在微服务启动类中去扫描这个异常类配置所在的包这样的话,Spring Cloud 中的全局异常处理就会生效了。...

2022-03-01 13:52:02 1687

原创 Docker-Compose 部署 Spring Boot + Mysql + Redis

Docker-Compose 部署 Spring Boot + Mysql + Redis配置 Spring Boot 项目中 Mysql 和 Redis 的信息spring: datasource: url: jdbc:mysql://主机地址:3306/account?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetri

2021-12-09 14:58:21 1310

原创 后台无法获取前端传入header的问题

遇到一个特别蛋疼的问题,后台始终无法后去前端传入的自定义header,搞了一个下午,终于把最终的原因找到了。首先了解一个知识点:过滤器如果发现是cors跨域复杂请求会先发送一个方法为OPTIONS的预检请求,这个请求是用来验证本次请求是否安全的。所以这就是问题的所在:第一次去判断header是否存在的时候,并不是前端传过来的请求,而是这次OPTIONS的预检请求,所以当然header始终为空啊!解决方法判断是否为OPTIONS请求,如果是则直接跳过这次请求就好。if ("OPTIONS".equa

2021-11-18 17:54:53 1481 1

原创 Zuul 实现网关鉴权

Zuul 实现网关鉴权

2022-12-05 15:09:00 324

原创 关于 MySQLTransactionRollbackException 异常的排查经历

事务死锁

2022-09-20 21:58:35 893

原创 内联查询实战案例

内联查询实战案例

2022-06-07 16:29:05 296

原创 事务管理与分布式锁冲突问题

事务管理与分布式锁冲突问题

2022-06-06 16:38:40 607

原创 分布式锁实战-用户抢单

分布式锁实战-用户抢单首先说下业务需求:订单产生以后,用户通过平台进行抢单,只有一个用户最终会拥有订单。再来看一下项目架构:首先用户统一调用接口服务 api-order ,再由 api-order 调用 (负载均衡) service-order 集群。我们先看一下如果不加分布式锁会发生什么情况。api-order 代码: @GetMapping("/acceptOrderByExpert") public String acceptOrderByExpert(String ord

2022-05-19 17:56:46 489

原创 Eureka 优化

Eureka 优化自我保护优化自我保护机制Eureka在15分钟内收到服务端心跳数小于Eureka本应该收到的总心跳数 * 自我保护阈值(默认0.85)就会触发。该机制默认开启。等网络恢复后退出自我保护自我保护常用配置eureka: server: # 自我保护开关,默认开启 enable-self-preservation: true # 自我保护阈值,默认0.85 renewal-percent-threshold: 0.85 # 自我保护剔除时

2022-02-09 16:21:14 474

原创 Java 内部类的总结

Java 内部类的总结使用内部类的好处内部类的方法可以访问该类定义所在域中的数据,包括私有数据内部类可以对同一个包中的其他类隐藏当想定义一个回调函数且不想编写大量代码的时候,使用匿名内部类比较便捷内部类访问外部类内部类既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域原理语法public class OuterClass { public static void main(String[] args) { OuterClass outerClass

2022-01-17 13:24:36 245

原创 Vue 拦截器的使用

Vue 拦截器的使用新建 axios.js 文件import axios from 'axios'import store from '../store'axios.defaults.headers.common['token'] = '123'// 添加请求拦截器axios.interceptors.request.use(config => { console.log(config) config.headers.common['token'] = store.getter

2021-12-17 09:52:56 275

原创 Spring Boot 项目搭建模板

Spring Boot 项目搭建模板首先来看一下项目结构看看项目实际都集成了哪些模块全局异常处理响应码枚举自定义统一响应体全局处理响应数据拦截器全局跨域阿里短信服务阿里 OSS 服务MyBatisMySQLRedisSwaggerJWTLombokHttps 认证全局异常处理首先来看一下代码的目录结构自定义异常/** * @description: 全局异常处理类 * @author: wubowen * @date: 2021/5/25 0025

2021-12-09 14:29:32 1098

原创 VMware + CentOS7 + NAT 配置外网连接

1.设置虚拟机网络连接方式为NAT模式2.修改相关VMware设置VMware-编辑-虚拟网络编辑器 如下图所示勾选并且填写子网以及子网掩码(可以自己随意填写)NAT设置,网关地址一般以2结尾3.Linux系统内设置进入此路径:/etc/sysconfig/network-scripts,编写ifcfg开头的配置文件,注意:文件名字个人可能不同,我的是:ifcfg-ens33。修改命令:vi ifcfg-ens33修改ifcfg-ens33相关配置,BOOTPROTO必须

2021-08-24 13:09:30 202

原创 实现自己的分页工具类

实现自己的分页工具类需求:根据传入的页数、每页条目数、List数组进行分页实现/** * @description: 分页工具类 * @author: wubowen * @date: 2021/7/5 0005 15:50 */public class PageUtil { public static PageEntity startPage(int pageNum, int pageSize, List data) { int total; //

2021-07-05 16:53:26 75

空空如也

空空如也

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

TA关注的人

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