自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Rabbitmq手动未确认解决方案

通过配置死信队列,可以让未正确处理的消息暂存到另一个队列中,处理死信队列的消息一般有两种方式

2022-09-06 11:11:26 2510 1

原创 mysql的binlog,undo log,redo log

1. binlog 二进制日志binlog用于mysql记录写入性操作信息,以二进制的形式保存到磁盘中。binlog日志的使用场景主要有三个: 1. 主从复制: 在Master端开启binlog,然后将binlog发送到各个Slave端,Slave端重放binlog从而达到主从数据一致。 2. 数据恢复 通过使用mysqlbinlog工具来恢复数据。 3. 增量备份 MySQL->Elasticsearch需要有对应的同步程序(一般就是监听MySQL的binlog,解

2022-02-23 16:31:53 1661

原创 linux查看程序运行日志并进行筛选

进入到日志文件夹里cd /usr/local/java/admin/logs/查看500行日志信息(-n后的数字代表行数)tail -n500 ./info.log 查询正在改变的日志信息tail -f ./info.log查询500行日志信息,并查询正在改变的日志信息(联合使用上面的命令)tail -n500 -f ./info/log查询500行日志信息,并查询正在改变的日志信息,并使用管道符进行过滤(例如过滤异常信息)tail -n500 -f ./info/log | .

2022-02-22 11:03:40 2365

原创 java8 String数组转Long型List

public List<Long> test(String numberStr) { String[] strs = orderNumberStr.split(","); List<Long> numbers = Arrays.stream(strs).map(str -> Long.parseLong(str.trim())).collect(Collectors.toList()); return numbers ;}

2021-12-07 16:11:01 2382

原创 hutool树形组件使用

今天做分类的时候需要用到的这个树形组件,顺便记录一下使用的方法,方便以后再次使用hutool版本<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.16</version></dependency>实现的方法public List<Tre

2021-11-11 19:13:53 806

原创 java下载项目中的文件到本地

java调用接口下载文件到本地 @Value("${download.file.bom-doc-path}") private String fieldPath; @GetMapping("/download/web/downloadBoM") public void downloadBoM(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {

2021-11-10 10:34:10 2200 2

原创 商品的skuList

将[{key1:value1,key2:value3},{key1:value2,key2:value4}]这种格式的数据格式转成{key1:[value1,value2],key2:[value3,value4]}这种数据格式。数据库中保存的sku信息是 [{“颜色”:“白”,“尺码”:“M”},{“颜色”:“黑”,“尺码”:“L”}] 这种格式的json字符串,需要转换成 {“颜色”:[“白”,“黑”],“尺码”:[“M”,“L”]} 这种格式方便前端使用,这里有两种方式,第一种是自己写的(第一次碰到

2021-11-08 14:29:51 1017 2

原创 使用List的stream将List集合转成Map

具体的操作是查询出来店铺的订单列表信息,然后每条信息需要加上用户的信息----->订单表中有用户id,最开始偷懒(怕数据量大导致查的慢就业没写关联sql),查出来店铺的订单列表后,使用for循环查询数据库,后来自己测一遍发现查询太慢,就改造了一下。具体实现方式如下:// 定义返回的对象List<OrderDTO> resultOrders = new ArrayList<>();String storeId = "店铺id";// 查询出店铺订单列表List&l

2021-11-08 14:12:07 2882

原创 mybaits-plus自动填充

当我们在添加或修改数据的时候,数据表里或多或少都会有创建时间、更新时间这样的字段,但是每次在新增或修改的时候手动设置这些字段比较繁琐,那么就可以使用mybatis-plus的自动填充功能。首先需要在你的实体类上对应的需要操作字段加上注解@TableField这个注解可以设置fill属性,如下图,比如在修改的时候,需要修改updateTime字段,就设置@TableField(fill=FieldFill.UPDATE)@Datapublic class entity { private

2021-08-27 10:53:26 129

原创 BigDecimal Non-terminating decimal expansion

使用divide来做除法的时候,需要指定保留的小数位数和取整方式,否则可能会除不尽报java.lang.ArithmeticException: Non-terminating decimal expansion; no exact result这个错误。(item.getAgencyPrice().subtract(dbItem.getCostPrice())) .divide(dbItem.getCostPrice(), 4, RoundingM

2021-08-26 10:07:30 126

原创 SpringBoot使用@Value记录

当我们把一些配置单独的放在某个yml文件中时,在启动时使用的yml配置文件中需要引入我们的其他的yml文件(例如启动时使用application-dev.yml文件,但是有一些配置配置在了其他yml文件中,application-dev.yml文件需要引入配置的其他yml文件),使用spring.profiles.include来进行引入spring: profiles: include: config-dev如上面代码所示,引入的文件为config-dev.yml文件,但是Spring在引入的

2021-08-11 10:34:24 300

原创 redis可视化工具读取数据乱码问题

更改序列化方式即可解决此问题,具体代码如下@Configurationpublic class RedisConfig { @Autowired private RedisTemplate redisTemplate; /** * 修改Redis序列化方式,解决Redis可视化工具乱码问题 * @return */ @Bean public RedisTemplate redisTemplateInit() { //

2021-08-05 16:20:43 717

原创 Hystrix组件学习(一)

Hystrix组件是一个用于处理分布式系统的延迟和容错的开源库,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障(服务雪崩),提高分布式系统的弹性。服务雪崩在微服务之间进行服务调用是由于某一个服务故障,导致级联服务故障的现象,称为雪崩效应。服务雪崩描述的是提供方不可用导致消费方不可用并将不可用逐渐放大的过程。服务熔断(对调用链路的保护)熔断器本身是一种开关装置,当某个单元发生故障后,通过断路器的故障监控,某个异常条件触发,直接熔断整个服务。向调用方法

2021-03-30 17:13:51 99

原创 Dubbo笔记

zookeeper 注册中心使用​ 在服务提供者和服务消费者加入 zookeeper 客户端 依赖<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.3.3</version></dependency>dubbo导入dubbo依.

2020-10-18 21:06:02 87

原创 Java NIO

Java NIO(New IO Non Blocking IO)NIO可以以更加高效的方式进行读写操作IONIO面向流的(Stream Oriented)面向缓冲区(Buffer Oriented)阻塞IO(Blocking IO)非阻塞IO(Non Blocking IO)(无)选择器(Selector)传统的方式NIO方式 缓冲区:在Java NIO中负责数据的传输,缓冲区就是数组。用于存储不同数据类型的数据 根据数据类型不同(boole

2020-10-18 20:58:07 125

原创 Docker安装Kafka

第一步 拉去zookeeper镜像docker pull wurstmeister/zookeeper第二步 拉去kafka镜像docker pull wurstmeister/kafka​ 第三步 后台启动zookeeperdocker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper-v /etc/localtime:/etc/localtime

2020-10-18 20:28:48 346

原创 简易的秒杀系统

简易的秒杀系统防止超卖问题令牌桶限流整合Redis缓存消息队列异步处理订单控制器@RestController@RequestMapping("stock")public class StockController { @Autowired private OrderService orderService; //秒杀方法 @GetMapping("kill") public String kill(Integer id){

2020-09-13 17:55:54 287 1

原创 Docker部署SpringBoot使用了SSL的项目

2020-09-05 11:43:17 1473 2

空空如也

空空如也

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

TA关注的人

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